フォームに2つのボタンがあります。jQueryのserialize()関数にボタンの値を含めるにはどうすればいいですか?
<button type="submit" class="btn btn-danger" value="Send Back" name="Save">Send Back</button>
<button type="submit" class="btn btn-primary" value="Approve" name="Save">Approve</button>
私はjqueryの$.ajax()
を使用してフォームデータを転記すると、フォームデータが最初にシリアル化されます。ここに私のconsole.log()
の出力で
(function() {
'use strict';
function process(event) {
event.preventDefault();
var $form = $(this);
var data = $form.serialize();
console.log('posted data', data);
$.ajax({
type: 'POST',
url: url,
data: data
}).done(function(data) {
...
});
}
$(document).on('submit', 'form', process);
})();
、私は、フォーム内の他のすべてのフィールドを見ることができるシリアル化されますが、送信ボタンの値が失われます。
serialize()
関数のボタンの値をjQueryに含めるように指示する設定はありますか?
しかし、この 'map()'はどのボタンがクリックされたかを伝えますか? ...両方のボタンがフォームの子であるためです。 – Blaise
マップはあなたがクリックしているかどうかを教えていませんか?.itsはbutton.Andから値をとります。親切にも、2つのフォームを使用してください。そうでない場合はフルフォームのHTMLコードを表示してください – prasanth