如何知道提交时点击了哪个提交输入?
我如何知道提交时点击了哪个提交输入?
例如,我想知道提交时是否点击了'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;
});
});
How can I know which submit input is clicked on submit?
For instance, I want to know whether 'update' submit input or 'update_close' submit input is clicked on submit.
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;
});
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您无法在提交处理程序中知道这一点。此信息未传递。您可以做的是订阅这两个按钮的
click
事件,并更新表单上的一些全局变量或 HTML5data-*
属性,以便在表单内提交处理程序你就会知道。此外,如果您以编程方式调用 .submit 事件,而不单击任何按钮,则此信息根本没有意义。
更新:
使用 HTML5 data-* 属性的示例:
以及在提交处理程序中:
You can't know this in the submit handler. This information is not passed. What you could do is to subscribe to the
click
events of those 2 buttons and update some global variable or a HTML5data-*
attribute on the form so that inside your form submit handler you will know.Also if you invoke the .submit event programatically, without clicking on any button, this information simply doesn't make sense.
UPDATE:
Example using HTML5 data-* attributes:
and inside your submit handler: