javascript - 查找已提交表单的所有提交按钮

标签 javascript jquery html forms

我试图在表单提交后禁用表单的所有提交类型元素,以避免双击。但我只希望禁用提交表单中的按钮。

例如,当点击提交按钮时,只有提交按钮和Another submit to disable (same form)应该被禁用。其他提交元素应保持原样。

下面的代码禁用所有提交元素。

$(document).on('submit', function (event) {
    event.preventDefault();
 
    var submit_button = $(':submit');
    submit_button.prop('disabled', true);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<button type="submit">Not part of submitted form (leave enabled)</button>
<form>
  <input type="text">
  <button type="submit">Part of another Form (leave enabled)</button>
</form>

<form>
  <input type="text">
  <button type="submit">Submit</button>
  <button type="submit">Another submit to disable (same form)</button>
</form>

最佳答案

好吧,event.target 将引用提交的表单,因此您可以找到所有提交按钮在该表单中使用 :submit 选择器:

$(document).on('submit', function (event) {
    event.preventDefault();              
    $(':submit',event.target).prop('disabled', true);

});

检查下面的代码片段示例

$(document).on('submit', function(event) {
  event.preventDefault();
  $(':submit', event.target).prop('disabled', true);

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="submit">Not part of submitted form (leave enabled)</button>
<form>
  <input type="text">
  <button type="submit">Part of another Form (leave enabled)</button>
</form>

<form>
  <input type="text">
  <button type="submit">Submit</button>
  <button type="submit">Another submit to disable (same form)</button>
</form>

关于javascript - 查找已提交表单的所有提交按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36803949/

相关文章:

javascript - 使用 jQuery 的网格大小调整器

javascript - 简化下拉列表的js

javascript - 仅当焦点位于文本框中时发出警报

javascript - 在任何表单更改上启用按钮

html - 如何在多个div元素之间添加垂直线

javascript - 第二个 Javascript 函数未运行

javascript - 使用 IE8 的 respond.js 的参数无效

php - 表达式引擎 SafeCracker 格式日期选择器

javascript - 无法加载jquery

javascript - Bootstrap javascript wordpress 问题数据切换 ="collapse"