如何确定jQuery Form Plugin中的活动提交按钮?

时间:2014-08-23 13:02:24

标签: javascript jquery html forms jquery-plugins

我在表单中有几个提交按钮。如何确定" beforeSubmit"回调哪个按钮启动提交表单?

    $('#myForm').ajaxSubmit({
        beforeSubmit(arr, $form, options)
        {
          // here we need to determine which button has initiated
          // submitting the form?
        }
    }

不幸的是,arr不包含任何提交按钮字段。

concole.log(ARR);

    
    [Object, Object, Object]
      0: Object
       name: "enabled"
       required: false
       type: "checkbox"
       value: "1"
       __proto__: Object
      1: Object
       name: "position"
       required: false
       type: "hidden"
       value: "headertop"
       __proto__: Object
      2: Object
       name: "index"
       required: false
       type: "hidden"
       value: "0"
       __proto__: Object
     length: 3
     __proto__: Array[0]

我只有一个表单,该表单有两个提交按钮 表格如下:
<form id="myForm" method="post" action="/admin/settings/template_save"> <input name="enabled" type="checkbox" value="1" checked="checked"> <input name="delete" type="submit" value="Delete"> <input name="save" type="submit" value="Save"> <input type="hidden" name="position" value="headertop"> <input type="hidden" name="index" value="0"> </form>
他们的文件也没有描述这个问题 请帮忙。
谢谢!

1 个答案:

答案 0 :(得分:1)

与任何事件callbackFunction一样,事件作为第一个对象传递给您的函数。所以你只需检查按钮是否符合预期,例如:

function onSubmitHandler(e){
    var btnClicked = e.target;
    if (btnClicked.id === "expectedBtnId") {
        // work
    }
}