Jquery 如何知道在提交时单击了哪个提交输入?

Jquery 如何知道在提交时单击了哪个提交输入?,jquery,submit,onsubmit,Jquery,Submit,Onsubmit,我如何知道在提交时单击了哪个提交输入 例如,我想知道是在提交时单击“更新”提交输入还是“更新”关闭提交输入 html .您无法在提交处理程序中知道这一点。此信息未被传递。您可以订阅这两个按钮的单击事件,并更新表单上的一些全局变量或HTML5数据-*属性,以便在表单提交处理程序中了解 另外,如果您以编程方式调用.submit事件,而不单击任何按钮,则此信息根本没有意义 更新: 使用HTML5数据-*属性的示例: $('#form_data :submit').click(function() {

我如何知道在提交时单击了哪个提交输入

例如,我想知道是在提交时单击“更新”提交输入还是“更新”关闭提交输入

html


.

您无法在提交处理程序中知道这一点。此信息未被传递。您可以订阅这两个按钮的
单击
事件,并更新表单上的一些全局变量或HTML5
数据-*
属性,以便在表单提交处理程序中了解

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


更新:

使用HTML5数据-*属性的示例:

$('#form_data :submit').click(function() {
    $(this).closest('form').data('submitbutton', $(this).attr('name'));
});
在提交处理程序中:

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

那么服务器如何知道单击了哪个按钮呢?(确实…提交按钮id正在传递)@lauthiamkok,我已经更新了我的答案以提供一个示例。@gdoron,服务器知道,因为如果您单击提交按钮,浏览器会将其名称作为参数发送。但是如果您使用javascript以编程方式提交表单,服务器不知道也不可能知道。哇!喜欢HTML-5风格的答案!像往常一样,你得到了我的支持票。
$('#form_data :submit').click(function() {
    $(this).closest('form').data('submitbutton', $(this).attr('name'));
});
$('#form_data').submit(function(e) {
    var submitButton = $(this).data('submitbutton');
    ...
});