提交表单时确定活动输入

时间:2014-06-16 17:17:38

标签: javascript jquery forms

是否有通用的解决方案来确定使用jQuery或普通Javascript提交表单的输入(例如,文本,提交按钮等)?

我很清楚您可以绑定提交按钮上的点击事件:

$('[type=submit]').on('click', function(event) {
    event.preventDefault();
    var $submit = $(this);
    $submit.closest('form').trigger('submit', [$submit]);
});

我也知道您可以在文本输入上收听 Enter 键:

$('input').on('keypress', function(event) {
    if (event.which == 13) {
        event.preventDefault();
        var $input = $(this);
        $input.closest('form').trigger('submit', [$input]);
    }
});

表单侦听提交事件:

$('#the_form').on('submit', function(event, $submit) {
    // ...
});

但是,是否有更通用的解决方案,而不需要提交按钮和文本输入(以及任何未来类型的输入)的特殊逻辑?

1 个答案:

答案 0 :(得分:1)

您是否考虑过将重点放在提交的哪个元素上?

$(document).ready(function() {
    var target = null;
    $('#the_form :input').focus(function() {
        target = this;
        alert(target);
    });
    $('#the_form').submit(function() {
        alert(target);
    });
});