jQuery/Ajax没有获取提交按钮名称

see*_*hom 7 forms ajax jquery submit serializearray

我正在使用表单中的多个提交按钮来处理表单提交.我知道提交按钮名称没有序列化,但我需要将该名称传递给处理脚本.

示例代码:

<form id='newqueryform' action='process-forms.php' method='post' >
    <input type='hidden' name='formname' value='newqueryform'>
    <div id='runit'><input type='submit' name='runit'  value='Run' /></div>
    <div id='saveit'><input type='submit' name='saveit' value='Save' /></div>
</form>
Run Code Online (Sandbox Code Playgroud)

这里有2个提交按钮,但在jQuery代码中:

$('#workarea').on('submit','#newqueryform', function(e)
{           

  var formData = $(this).closest('#newqueryform').serializeArray();
  alert(JSON.stringify(formData));
  ...
Run Code Online (Sandbox Code Playgroud)

2个提交按钮不显示!! 仅显示其他输入字段.我如何知道按下了哪个按钮?

Nig*_*gel 7

由于您依赖于单击的按钮而不仅仅是正在提交的表单将操作绑定到按钮.由于$(this)function(){}是点击的按钮可以将其细节FORMDATA.

$('#workarea').on('click','#newqueryform input[type="submit"]', function(e){
    var formData = $(this).closest('#newqueryform').serializeArray();   
    formData.push({name: this.name, value: this.value});
    ...
Run Code Online (Sandbox Code Playgroud)