我必须提交表单,并且我需要包含已单击的提交按钮的值。我怎样才能做到这一点?这是我的代码:
<form id="form_update" >
<input type="text" class="form-control" name="title" value="" >
<input type="hidden" name="prova" value="prova" />
<button type="submit" name="salva" value="delete" class="btn btn-success">delete</button>
<button type="submit" name="salva" value="modify" class="btn btn-success">modify</button>
<button type="submit" name="salva" value="save" class="btn btn-success">save</button>
</form>
$(document).on('submit', '#form_update', function() {
return callAjax($(this).serialize());
});
function callAjax(data) {
$.ajax({
type: 'POST',
url: 'call/function.php',
data: data,
success: function(data) {
// code
},
error: function(data) {
alert('error');
}
});
return false;
};
答案 0 :(得分:2)
我会将事件类型更改为单击按钮并使用$(this).val()
$(document).on('click', 'button', function(e) {
e.preventDefault(); // Prevent from submitting form.
var buttonValue = $(this).val();
return callAjax($('#form_update').serialize());
});
答案 1 :(得分:2)
使用以下功能。
$(document).on('submit', '#form_update', function() {
var val = $("input[type=submit][clicked=true]").val();
return callAjax($(this).serialize()+'&clickedVal='+val );
});
它将使用ajax
请求传递点击的按钮值。
答案 2 :(得分:0)
...谢谢
使用Arun解决方案,我得到了未定义的val值...
使用Daan解决方案问题是一样的......
但是根据你的回答我已经解决了混合:)
$(document).on('click', 'button', function(e) {
e.preventDefault(); // Prevent from submitting form.
var buttonValue = $(this).val();
return callAjax($('#form_update').serialize()+'&salva='+buttonValue );
});
非常感谢;)