成功表单提交后禁用表单

时间:2014-10-01 21:40:13

标签: javascript jquery forms

我们遇到了开源第三方应用程序的问题。许多表单需要一段时间才能提交,人们会多次按下“提交”按钮。许多这些表单已经使用onsubmit来验证表单。我们不想伤害任何一个。

首先,我们认为只需点击一下即可停用提交按钮。问题是如果表单未验证,则按钮仍处于禁用状态。

我们也不能只使用基本的onsubmit,因为我们会覆盖当前的验证和其他过程。

当表单实际开始成功提交时,我们是否可以在验证后禁用提交按钮?

2 个答案:

答案 0 :(得分:0)

如果您正在使用jQuery,则调用您的验证函数,如果失败则只需重新启用该按钮。

答案 1 :(得分:0)

由于您无法控制第三方应用程序,因此一种方法可能是在单击时禁用每个按钮,然后在一段时间后重新启用该按钮 - 足以使验证例程完成。如果验证功能成功,表单将提交,此时没有按钮 重新启用。

这应该让你前进:

$('button').on('click',function() {
  $(this).prop('disabled', true);
  (function(b) {
     setTimeout(function() {
       b.prop('disabled', false);
     },1000);
   }
  )($(this));
});

小提琴: http://jsfiddle.net/x3tv6vqo/