如何知道在提交时点击了哪个提交输入?
例如,我想知道'更新'提交输入或'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;
});
});
答案 0 :(得分:5)
您无法在提交处理程序中知道这一点。此信息未通过。您可以做的是订阅这两个按钮的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');
...
});