asp.net vs2005 如何防止按钮重复提交记录
2008-05-15 15:35
555 查看
asp.net vs2005 如何防止按钮重复提交记录
在网上搜索了一下发现有下面几种方法: 解决重复提交:OnClientClick="this.disabled=true;this.form.submit();" UseSubmitBehavior="False" 解决方法二: this.btnSubmit.Attributes["onclick"] = this.GetPostBackEventReference(this.btnSubmit) + ";this.disabled=true;"; //防止重复提交 不过我使用下来发现一个问题,就是上面两种方法不能和.net的验证控件同时工作,在网上搜索了很多地方,终于发现比较好的方法: this.GetPostBackEventReference(this.cmdSubmit); //保证 __doPostBack(eventTarget, eventArgument) 正确注册 if (!IsPostBack) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append("if (typeof(Page_ClientValidate) == 'function') { if (Page_ClientValidate() == false) { return false; }}"); //保证验证函数的执行 //sb.Append("if(window.confirm('are you sure?')==false) return false;"); //自定义客户端脚本 sb.Append("disableOtherSubmit();"); // disable所有submit按钮 sb.Append(this.GetPostBackEventReference(this.cmdSubmit)); //用__doPostBack来提交,保证按钮的服务器端click事件执行 sb.Append(";"); cmdSubmit.Attributes.Add("onclick", sb.ToString()); } <script language="javascript"> <!-- function disableOtherSubmit() { var obj = event.srcElement; var objs = document.getElementsByTagName('INPUT'); for(var i=0; i<objs.length; i++) { if(objs[i].type.toLowerCase() == 'submit') { objs[i].disabled = true; } } } //--> </script> 或者将 sb.Append("disableOtherSubmit();"); // disable所有submit按钮 直接换成如下语句即可: sb.Append("var obj = event.srcElement;") sb.Append("var objs = document.getElementsByTagName('INPUT');") sb.Append("for(var i=0; i<objs.length; i++)") sb.Append("{") sb.Append("if(objs[i].type.toLowerCase() == 'submit')") sb.Append("{") sb.Append("objs[i].disabled = true;") sb.Append("}") sb.Append("} ") |
相关文章推荐
- asp.net中如何防止用户重复点击提交按钮
- 【asp.net中如何防止用户重复点击提交按钮】
- asp.net中如何防止用户重复点击提交按钮
- ASP.NET怎么防止多次点击提交按钮重复提交
- ASP.NET如何防止页面重复提交
- asp.net禁用按钮以防止重复提交
- asp.net防止刷新时重复提交(可禁用工具条刷新按钮)
- ASP.NET如何防止页面重复提交
- ASP.NET如何防止页面重复提交
- asp.net禁用按钮以防止重复提交
- asp.net页面防止按钮重复提交的小技巧
- asp.net页面button按钮防止重复提交的方法
- ASP.NET如何防止页面重复提交
- asp.net禁用按钮以防止重复提交 转
- ASP.NET 防止F5刷新页面按钮重复提交
- asp.net防止刷新时重复提交(可禁用工具条刷新按钮)
- [导入]ASP.NET如何防止页面重复提交
- asp.net 点击按钮后置灰,防止重复提交的代码!
- asp.net禁用按钮以防止重复提交
- ASP.NET如何防止页面重复提交