jQuery表单提交:有什么方法可以知道触发提交的元素是什么?

gho*_*_mv 4 javascript forms jquery

我正在使用asp.net MVC,当我提交表单时,之前的开发人员已经嵌入了一些jQuery验证.

$('form').submit(function() {
    ...code done here to validate form fields
});
Run Code Online (Sandbox Code Playgroud)

问题是表单上的"保存"和"取消"按钮都会触发此提交jQuery函数.如果触发"取消"输入按钮,我不想激活验证逻辑(id ="cancel"name ="cancel"value ="cancel").有没有办法在这个提交函数中,我可以检索按下哪个输入按钮提交表单的ID,名称或值?

hun*_*ter 8

我问了同样的问题:如何从表单提交事件中获取导致提交的按钮?

我能想到的唯一跨浏览器解决方案是:

$(document).ready(function() {
    $("form").submit(function() { 

    var val = $("input[type=submit][clicked=true]").val()

    // DO WORK

});

$("form input[type=submit]").click(function() {
    $("input[type=submit]", $(this).parents("form")).removeAttr("clicked");
    $(this).attr("clicked", "true");
});
Run Code Online (Sandbox Code Playgroud)

不确定它是否是您正在寻找的答案,但您应该将"取消"按钮更改为锚标记.除非您正在处理表单值,否则无需提交取消.