关于ajax点击多次提交的解决方案.
2012-07-23 21:37
281 查看
一.点击后禁用提交按钮.(简单方便)
二.利用onInitializeRequest事件
在Web开发程序中,往往由于种种原因,客户会多次操作页面导致数据冗余或不一致, 在ASP.NET AJAX出现之前可以通过对__dopostback()的调用等方法也可以防止页面多次提交。
在ASP.NET
AJAX中的页面客户端中有一个叫onInitializeRequest的事件,它在页面初始化之前触发,可以对页面的提交事件进行控制,并且可以调用该事件参数的中的一个set_cancel方法可以取消页面的提交,从而很简单的实现阻止页面的多次提交。
具体代码如下:
var btnSubmit =
"<%=btnSubmit.ClientID %>";
var prm =
Sys.WebForms.PageRequestManager.getInstance();prm.add_initializeRequest(onInitializeRequest);
function
onInitializeRequest(sender,args){
if(prm.get_isInAsyncPostBack()&&args.get_postBackElement().id
== btnSubmit)
{ args.set_cancel(true);
//给用户提示正在处理中 }
$get(btnSubmit).disabled =
true;}
将以上代码放在页面中就可以实现阻止多次提交的功能,其中btnSubmit为提交页面的按钮
二.利用onInitializeRequest事件
在Web开发程序中,往往由于种种原因,客户会多次操作页面导致数据冗余或不一致, 在ASP.NET AJAX出现之前可以通过对__dopostback()的调用等方法也可以防止页面多次提交。
在ASP.NET
AJAX中的页面客户端中有一个叫onInitializeRequest的事件,它在页面初始化之前触发,可以对页面的提交事件进行控制,并且可以调用该事件参数的中的一个set_cancel方法可以取消页面的提交,从而很简单的实现阻止页面的多次提交。
具体代码如下:
var btnSubmit =
"<%=btnSubmit.ClientID %>";
var prm =
Sys.WebForms.PageRequestManager.getInstance();prm.add_initializeRequest(onInitializeRequest);
function
onInitializeRequest(sender,args){
if(prm.get_isInAsyncPostBack()&&args.get_postBackElement().id
== btnSubmit)
{ args.set_cancel(true);
//给用户提示正在处理中 }
$get(btnSubmit).disabled =
true;}
将以上代码放在页面中就可以实现阻止多次提交的功能,其中btnSubmit为提交页面的按钮
相关文章推荐
- 关于表单提交按钮多次点击多次触发的解决方法
- 有关于用javaScript点击一次提交数据却发送了两次或者多次的问题
- 关于Asp.Net中避免用户连续多次点击按钮,重复提交表单的处理
- 关于Asp.Net中避免用户连续多次点击按钮,重复提交表单的处理
- 关于WinForm框架中点击按钮时存在的多次提交问题的解决方法
- Ajax一次点击多次提交到服务器
- 关于表单中用ajax提交产生刷新问题的解决方案
- ajax防止多次点击重复提交
- 多次连续点击导致Ajax重复提交
- 关于Asp.Net中避免用户连续多次点击按钮,重复提交表单的处理
- 关于考试系统的ajax提交单个答案的压力测试
- F5当刷新页面,出现“要再次显示此页,web该浏览器,你曾经有过发送消息再次提交...点击重试",如何防止此对话框解决方案的出现,
- JQuery中Ajax跨域解决方案 关于ajax跨域操作的jquery, django实践 基于jquery的ajax之跨域解决方案
- asp.net用FileUpload多次上传图片,点击浏览器后退退出当前页面,不重复提交
- 关于Ajax提交携带数据认证的问题
- 关于ajax提交表单的问题
- 关于adapter 多次打印getView问题,解决方案
- 关于Android中popupwindow的listview的item点击事件无效的解决方案
- 关于提交AJAX请求后成功,不执行success去执行error的原因及分析
- 关于ajax和submit提交的问题