代码之家  ›  专栏  ›  技术社区  ›  Erik

我可以确定单击哪个按钮触发onSubmit事件吗?

  •  1
  • Erik  · 技术社区  · 15 年前

    我在表单中添加了一个onsubmit处理程序,如下所示:

        $('#content_form').bind('submit',function(e) {
    
            source = $(e.target).attr('name');
            alert(source);
            return false;
        });
    

    因此e.target=表单元素。我使用了几个提交按钮,需要确定实际单击了哪个按钮(在现代浏览器中,单击的按钮是唯一提交的按钮,我为IE6 compat执行此操作-它提交所有按钮的值)。

    我的唯一想法是杀死任何提交事件,然后将单击事件绑定到按钮本身。如果不启用javascript,这将完全破坏表单功能,因此我希望避免这种情况。

    4 回复  |  直到 15 年前
        1
  •  1
  •   John Feminella    15 年前

    onclick 每个按钮的处理程序设置一个字段,指示最后单击的按钮。在提交处理程序中,可以检查此字段的值。

        2
  •  1
  •   Matt Huggins    15 年前
    $('#content_form input:submit').bind('click', function(e) {
        $('#content_form').submit();
    
        // you can now reference this or $(this),
        // which should contain a reference to your button
    });
    
        3
  •  0
  •   PetersenDidIt    15 年前

    你查过那张支票了吗 jQuery Form Plugin

        4
  •  -1
  •   JP Silvashy Gautam Rege    15 年前

    preventDefault(); 而不是 return false