javascript - 确定提交表单时的事件输入

标签 javascript jquery forms

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

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

$('[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) {
    // ...
});

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

最佳答案

您是否考虑过查看哪个元素将焦点放在提交上?

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

关于javascript - 确定提交表单时的事件输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24248888/

相关文章:

javascript - 如果 child 悬停在 mouseover 事件上的 jQuery 再次触发

javascript - 通过 PHP 中的提交按钮或 JavaScript 提交函数检测表单提交的差异

javascript - 从动态 HTML 元素检索 jQuery 数据返回未定义

Javascript/jQuery 选择嵌套行中的第一个 anchor child

jquery - plupload browser_button 不显示浏览对话框

php - 验证表单并提交而不刷新

php - 通过 JS 更新的表单输入未提交

Javascript "object"不保留 css 值

javascript - 如何使用 D3.js 或 C3.js 自定义 Gauge 指针?

javascript - jQuery UI 可排序的 div,如何确定顺序?