【发布时间】:2016-09-28 10:45:52
【问题描述】:
在我的表单上,我有 1 个提交表单,可将数据插入我的数据库。一旦用户单击提交按钮,页面将花费太长时间重定向到下一页,因此用户可以单击第二次甚至第三次。在这种情况下,插入完成了 1 次以上。
第一次点击提交按钮后是否可以禁用?或者您对我的问题有其他解决方案。
【问题讨论】:
-
您可以在表单提交后禁用提交按钮
-
请发布您的代码,以便我们更好地了解
在我的表单上,我有 1 个提交表单,可将数据插入我的数据库。一旦用户单击提交按钮,页面将花费太长时间重定向到下一页,因此用户可以单击第二次甚至第三次。在这种情况下,插入完成了 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>
【讨论】:
这是可能的。只需在用户点击后将 attr disabled 添加到您的按钮即可。
使用 jQuery 可以这样做:
$(document).on('submit', '.my-submit-button', function(e) {
e.preventDefault();
$(this).attr('disabled', 'disabled');
});
【讨论】:
如果您使用的是 AJAX,则禁用该按钮,直到响应返回如下:
$("#btn").attr('disabled','true');
否则,您可以在单击按钮时禁用按钮,并在提交成功后重新加载页面。它将解决您多次提交表单。
$("#btn").on('click',function(){
$("#btn").attr('disabled','true');
});
并在将数据插入数据库用户标头后重定向到相同的 url。
【讨论】: