【问题标题】:jQuery/Ajax does not get submit button namejQuery/Ajax 没有获得提交按钮名称
【发布时间】:2013-03-13 23:17:25
【问题描述】:

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

示例代码:

<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>

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

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

  var formData = $(this).closest('#newqueryform').serializeArray();
  alert(JSON.stringify(formData));
  ...

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

【问题讨论】:

    标签: jquery ajax forms submit serializearray


    【解决方案1】:

    由于您依赖于被单击的按钮,而不仅仅是提交的表单,因此将操作绑定到按钮。由于function(){} 中的$(this) 是被点击的按钮,您可以将其详细信息转换为formData。

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

    【讨论】:

      猜你喜欢
      • 2011-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-31
      • 2012-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多