如何知道提交时点击了哪个提交输入?
例如,我想知道提交时是否点击了'update'提交输入或'update_close'提交输入。
html,
<form id="form_data">
<input type="input" name="title" value="" />
<input type="submit" name="update" value="Update" />
<input type="submit" name="update_close" value="Update and Close"/>
</form>
jquery,
$(document).ready(function(){
$('#form_data').submit(function(e){
alert($(this).serialize());
return false;
});
});
jsfiddle .
最佳答案
您无法在提交处理程序中知道这一点。此信息未传递。您可以做的是订阅这两个按钮的 click
事件,并更新表单上的一些全局变量或 HTML5 data-*
属性,以便在表单内提交处理程序你就会知道。
此外,如果您以编程方式调用 .submit 事件,而不单击任何按钮,则此信息根本没有意义。
<小时/>更新:
使用 HTML5 data-* 属性的示例:
$('#form_data :submit').click(function() {
$(this).closest('form').data('submitbutton', $(this).attr('name'));
});
在您的提交处理程序中:
$('#form_data').submit(function(e) {
var submitButton = $(this).data('submitbutton');
...
});
关于jquery - 如何知道提交时点击了哪个提交输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8883931/