【问题标题】:Disabling Submit Button On Click Does not Submit Form单击时禁用提交按钮不会提交表单
【发布时间】:2018-07-25 14:39:21
【问题描述】:

我试图防止重复提交表单,并且在这样做时,我会在首次单击后禁用提交按钮。为此,我在我的页面中添加了以下 javascript:

var $loginSubmitBtn = $('#loginSubmitBtn');
$loginSubmitBtn.click(function () {
    $loginSubmitBtn.prop('disabled', true);
}); 

在执行 Post 以提交表单之前禁用按钮会产生不良影响。有没有办法确保在按钮被禁用之前发布通过?

【问题讨论】:

  • 尝试收听表单的submit 事件,而不是提交按钮上的click
  • 尝试在函数中添加return true;
  • @AlonAlexander 有什么理由我应该添加 return true 吗?

标签: javascript jquery html


【解决方案1】:

不要在click 之后禁用按钮,而是在表单的submit 之后禁用它:

var $loginSubmitBtn = $('#loginSubmitBtn');

$('#yourForm').on('submit', function() {
  $loginSubmitBtn.prop('disabled', true);
});

【讨论】: