【问题标题】:When disabling submit button form is not submitting禁用提交按钮时表单未提交
【发布时间】:2018-01-17 15:21:12
【问题描述】:

我发现此代码可防止重复提交表单,但此代码无法正常工作,它禁用了提交按钮并将按钮值更改为“请稍候”,但它也在提交表单。

<input type="submit" value="Submit" name="reply" onclick="this.disabled=true; this.value='Please Wait...';" />

我该如何解决这个问题? 提前致谢

【问题讨论】:

  • return false; 最后。还有,如果不点击,应该什么时候提交?
  • 实际上,当单击按钮时,刷新表单需要一些时间,如果在那个时候单击按钮,表单会再次提交,所以我只想通过禁用表单提交一次按钮或完全隐藏它

标签: jquery html forms onclick form-submit


【解决方案1】:
$("form").on("submit",function(e){
  e.preventDefault();
  $(this).find("[type='submit']").attr("disabled","disabled").attr("value","Please wait");
  if(everything is ok) //you didn't specify what this is in your question.
    $(this).submit();
});

【讨论】:

  • 如果(一切正常)应该在这一行中指定什么
  • @Yaser 提交前需要做什么?如果你不想做任何事情,只需删除 if 语句
【解决方案2】:

对于任何相关的人,我发现了这种方式,它对我有用

<input type="submit" value="Submit" name="reply_ticket" class="btn" onclick="this.style.visibility = 'hidden'" />

只需将其添加到按钮或输入以任何方式工作

【讨论】: