jquery - 如何知道提交时点击了哪个提交输入?

标签 jquery submit onsubmit

如何知道提交时点击了哪个提交输入?

例如,我想知道提交时是否点击了'update'提交输入或'update_close'提交输入。

html,

<form id="form_data">
    <input type="input" name="title" value="" />
    <input type="submit" name="update" value="Update" />
    <input type="submit" name="update_close" value="Update and Close"/>
</form>

jquery,

$(document).ready(function(){

        $('#form_data').submit(function(e){

            alert($(this).serialize());
            return false;
        });

    });

jsfiddle .

最佳答案

您无法在提交处理程序中知道这一点。此信息未传递。您可以做的是订阅这两个按钮的 click 事件,并更新表单上的一些全局变量或 HTML5 data-* 属性,以便在表单内提交处理程序你就会知道。

此外,如果您以编程方式调用 .submit 事件,而不单击任何按钮,则此信息根本没有意义。

<小时/>

更新:

使用 HTML5 data-* 属性的示例:

$('#form_data :submit').click(function() {
    $(this).closest('form').data('submitbutton', $(this).attr('name'));
});

在您的提交处理程序中:

$('#form_data').submit(function(e) {
    var submitButton = $(this).data('submitbutton');
    ...
});

关于jquery - 如何知道提交时点击了哪个提交输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8883931/

相关文章:

jquery - 从 Rails 3 升级后不允许使用 Rails 4 方法

javascript - 删除所有其他逗号并用方括号括起来

javascript - 如何使用 selenium javascript 单击推文的收藏夹按钮

PHP 阻止一个人多次按“提交”

jquery - 插件管理页面中的 Ajax 表单不起作用

javascript - 使用 url 的下拉选项值在提交时重定向表单

javascript - 解绑后未提交表单

javascript - 如何在 onclick 中传递一些 getElementById

javascript - 验证表单后选项卡崩溃(JavaScript)

javascript - Onsubmit 在 Chrome 中不起作用