我有一个包含以下内容的表单:
<form id="my-form" ...>
...
<button type="submit" name="bttnsubmit" value="1">The first button</button>
<button type="submit" name="bttnsubmit" value="2">The last button</button>
</form>
我想检测哪个触发了表单提交事件,只需使用:
$('#my-form').submit(function(){
//psuedo code
if($('[name=bttnsubmit]').val() == 1) {
....
}
});
显然,选择器将始终返回它遇到的第一个 bttnsubmit 元素的值,因此我需要一些其他魔术选择器或过滤器或其他东西。
我见过 $('[name=bttnsubmit][clicked=true]')
吹捧,但在我的尝试中尚未奏效...
我当然可以求助于 $('[name=bttnsubmit]').click()
但更希望能够在表单提交事件中实现我的目标。
非常感谢任何帮助/提示。
最佳答案
我不知道是否有任何内置事件数据(也许有),但想到的一个想法是处理按钮的单击事件并存储该值的全局引用。像这样的事情:
var ButtonValue;
$('button[type="submit"]').click(function(e){
ButtonValue = $(this).val();
});
$('#my-form').submit(function(){
//psuedo code
if(ButtonValue == 1)
{
....
}
});
关于jquery检测哪个按钮提交了表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14628750/