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

时间:2010-01-05 17:51:23

标签: javascript jquery

我有一个onsubmit处理程序添加到这样的表单:

    $('#content_form').bind('submit',function(e) {

        source = $(e.target).attr('name');
        alert(source);
        return false;
    });

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

我唯一的想法是杀死任何onsubmit事件,然后将点击事件绑定到按钮本身。如果没有启用javascript,这将完全终止表单功能,所以我想避免这种情况。

4 个答案:

答案 0 :(得分:1)

一个简单(但可能是天真)的实现方法是让每个按钮的onclick处理程序设置一个字段,指示哪一个是最后一个单击的。在提交处理程序中,您可以检查此字段的值。

答案 1 :(得分:1)

$('#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
});

答案 2 :(得分:0)

你签出了jQuery Form Plugin吗?它通过ajax非常好地处理提交表单,并将为您处理此问题(以及许多其他问题)。

答案 3 :(得分:-1)

您可以使用preventDefault();代替return false

相关问题