javascript - 如何确定 jQuery 表单插件中的事件提交按钮?

标签 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?
        }
    }

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

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>
他们的文档也没有描述这个问题。
请帮忙。
谢谢!

最佳答案

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

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

关于javascript - 如何确定 jQuery 表单插件中的事件提交按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25462196/

相关文章:

javascript - 传递嵌套文档查询字段

java - JQuery Address 管理应用程序状态的简单示例

javascript - 如何在 ionic 应用程序中显示隐藏的部分文本?

html - 将按钮放在图像和下方文本的中间

javascript - 如何将字符串数组转换为对象数组?

javascript - 为什么缩小代码不等同于原始代码?

javascript - 通过javascript更新多个窗口

Javascript 比较不​​适用于名称中带有 HTML 实体的按钮

css - HTML5 在带有图像的响应式站点方面存在缺陷

javascript - JQuery Draggable 中的三个 JS ObitControl