【问题标题】:Disallow multiple submits禁止多次提交
【发布时间】:2016-09-28 10:45:52
【问题描述】:

在我的表单上,我有 1 个提交表单,可将​​数据插入我的数据库。一旦用户单击提交按钮,页面将花费太长时间重定向到下一页,因此用户可以单击第二次甚至第三次。在这种情况下,插入完成了 1 次以上。

第一次点击提交按钮后是否可以禁用?或者您对我的问题有其他解决方案。

【问题讨论】:

  • 您可以在表单提交后禁用提交按钮
  • 请发布您的代码,以便我们更好地了解

标签: php forms submit


【解决方案1】:

如果您可以使用 javascript,则可以在单击按钮后禁用按钮。

$('.submit-button').on('click', function (e) {
	e.preventDefault();
	$(this).attr('disabled', 'disabled');
  $(this).closest('form').submit();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="">
  <input class="submit-button" type="submit">
</form>

【讨论】:

  • 谢谢,我试试这个
【解决方案2】:

这是可能的。只需在用户点击后将 attr disabled 添加到您的按钮即可。

使用 jQuery 可以这样做:

$(document).on('submit', '.my-submit-button', function(e) {
    e.preventDefault();
    $(this).attr('disabled', 'disabled');
});

【讨论】:

    【解决方案3】:

    如果您使用的是 AJAX,则禁用该按钮,直到响应返回如下:

    $("#btn").attr('disabled','true');
    

    否则,您可以在单击按钮时禁用按钮,并在提交成功后重新加载页面。它将解决您多次提交表单。

    $("#btn").on('click',function(){
     $("#btn").attr('disabled','true');
    });
    

    并在将数据插入数据库用户标头后重定向到相同的 url。

    【讨论】:

      猜你喜欢
      • 2013-03-05
      • 2013-02-21
      • 1970-01-01
      • 2014-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-11
      相关资源
      最近更新 更多