Поскольку вы останавливаете поведение браузера по умолчанию, которое определяет значение кнопки, вам нужно будет зафиксировать, какая кнопка была нажата, и добавить эту информацию к публикуемым данным (вашим serf
данным). , Вероятно, наиболее надежным способом было бы перехватить событие click
на кнопках, а также событие submit
формы и направить их все в центральную функцию, которая выполняет передачу ajax с (или без) значением кнопки (без отправки формы другим способом, а не нажатием одной из этих кнопок).
Что-то вроде этого:
$(document).ready(function() {
function submitTheForm(f, button) {
var action = f.attr("action");
var serf = f.serialize();
if (button && button.name) {
serf += "&" + encodeURIComponent(button.name);
if (button.value) {
serf += "=" + encodeURIComponent(button.value);
}
}
$.post(action, serf,
//onreturn
function (data) {
//do something here on success
},
'json'
);
}
$('#formId').submit(function () {
submitTheForm($(this));
return false;
});
$("#formId :submit").click(function() {
submitTheForm($(this).closest('form'), this);
return false;
});
});