0

我的网站上有一个使用 ASP.NET http://sosdeepcleaning.com/contactus.aspx的联系我们页面

当客户填写表单并单击提交时,它不会显示页面正在处理表单的任何迹象,因此他们中的一些人单击了两次提交按钮。

我怎样才能防止他们点击它两次?对话框?“等待”吧?警报?我可以在 Response.Redirect 之前添加任何简单的解决方案吗?

谢谢

4

2 回答 2

1

双重提交问题的常见解决方案是灰显(禁用)提交按钮,并可选地在提交按钮旁边显示进度条。

使用 jQuery:

$('form').submit(function()
{
    $('input[type="submit"]').attr('disabled','disabled');
});
于 2012-10-04T02:49:57.853 回答
1

如上一个答案所述,如果页面经过验证,则在第一次单击时通过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> 
于 2012-10-04T03:52:49.943 回答