上面這些是網(wǎng)路上能找到的防止使用者重覆送出submit
大致上就這些方法
可是仍舊存在著bug...
如果submit鈕有設(shè)快速鍵然後卡鍵或是滑鼠壞了導(dǎo)致連點(以微秒之速)
這些方法就破功了
嘛...阿伯阿嬤級的使用者常發(fā)生這種事
你要他小心點根本不可能的
這問題困擾我很久(寫網(wǎng)頁網(wǎng)站的人應(yīng)該都困擾過吧)
突然之間有個想法
既然都是用javascript來做
為何不這樣做
?
當使用者按下的瞬間,我就將按鈕disabled,不讓按鈕本身做任何動作
接著補上一句語法,
"待幾微秒後去click一個使用者看不見按不到的按鈕"
不就得了
?
ASPX段
<HTML>
<body>
<form id="Form1" method="post" runat="server">
<asp:Button id="Submit" accessKey="e" runat="server" Text="Submit"></asp:Button>
<asp:Button id="shadowBtn" runat="server" Width="0" Height="0" TabIndex="-1"></asp:Button>
</form>
</body>
</HTML>
程式段
private void Page_Load(object sender, System.EventArgs e)
{
// 在這裡放置使用者程式碼以初始化網(wǎng)頁
Submit.Attributes.Add("onclick","javascript:this.disabled=true;setTimeout("document.getElementById('shadowBtn').click()",500);");
}
ASPX .NET C#
效果似乎還不賴
這個比較不同的是 解決按下F5會發(fā)生的事