我的网站上有一个使用 ASP.NET http://sosdeepcleaning.com/contactus.aspx的联系我们页面
当客户填写表单并单击提交时,它不会显示页面正在处理表单的任何迹象,因此他们中的一些人单击了两次提交按钮。
我怎样才能防止他们点击它两次?对话框?“等待”吧?警报?我可以在 Response.Redirect 之前添加任何简单的解决方案吗?
谢谢
我的网站上有一个使用 ASP.NET http://sosdeepcleaning.com/contactus.aspx的联系我们页面
当客户填写表单并单击提交时,它不会显示页面正在处理表单的任何迹象,因此他们中的一些人单击了两次提交按钮。
我怎样才能防止他们点击它两次?对话框?“等待”吧?警报?我可以在 Response.Redirect 之前添加任何简单的解决方案吗?
谢谢
双重提交问题的常见解决方案是灰显(禁用)提交按钮,并可选地在提交按钮旁边显示进度条。
使用 jQuery:
$('form').submit(function()
{
$('input[type="submit"]').attr('disabled','disabled');
});
如上一个答案所述,如果页面经过验证,则在第一次单击时通过jQuery禁用按钮。试试下面的片段
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#btnSubmit").click(function () {
// Assumes you have asp.net validation controls
// so you can check Page_IsValid
if (Page_IsValid) {
$(this).attr("disabled", "disabled");
$(this).attr("value", "Processing...");
}
});
});
</script>