今天在做项目时,碰到了一个问题,当页面在提交时,若网速太慢,用户可能点击多次提交按钮。这样,导致向数据库中插入了多条相同的记录。在网上搜索了一下,终于得一良方,现在拿出来与大家分享。
//
方法一:在提交时调用一段客户端的代码。
function a()
{
document.getElementById( " btnok " ).value = ' 正在提交 ' ;
document.getElementById( " btnok " ).onclick = function(){ return false ;};
return true ;
}
< input id = " btnok " runat = " server " type = " submit " value = " 确定 " onclick = " return a(); "
onserverclick = " Submit1_ServerClick " />
// 方法二:必需要是Asp.net服务器控件。(注意UseSubmitBehavior属性)
< asp:Button ID = " btnSumbit " runat = " server " UseSubmitBehavior = " false "
OnClientClick = " this.value='正在提交';this.disabled=true; "
Text = " 提交 " OnClick = " btnSumbit_Click " />
function a()
{
document.getElementById( " btnok " ).value = ' 正在提交 ' ;
document.getElementById( " btnok " ).onclick = function(){ return false ;};
return true ;
}
< input id = " btnok " runat = " server " type = " submit " value = " 确定 " onclick = " return a(); "
onserverclick = " Submit1_ServerClick " />
// 方法二:必需要是Asp.net服务器控件。(注意UseSubmitBehavior属性)
< asp:Button ID = " btnSumbit " runat = " server " UseSubmitBehavior = " false "
OnClientClick = " this.value='正在提交';this.disabled=true; "
Text = " 提交 " OnClick = " btnSumbit_Click " />