ajax 防止用户反复提交的2种解决方案

所属分类: 网络编程 / AJAX相关 阅读数: 958
收藏 0 赞 0 分享
可在服务器端加载方法:
复制代码 代码如下:

private void OnLoading()
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append(" function pageLoad(){var manager = Sys.WebForms.PageRequestManager.getInstance(); ");
sb.Append(" manager.add_beginRequest(OnBeginRequest); manager.add_endRequest(OnEndRequest)} var lcPostbackElementID;");
sb.Append(" function OnBeginRequest(sender, args){ lcPostbackElementID = args.get_postBackElement().id.toLowerCase(); if (lcPostbackElementID === \"btnadwords\"){$get(\"btnAdWords\").disabled = true; $get(\"btnAdWords\").value='正在提交...';}} ");
sb.Append(" function OnEndRequest(sender, args){if (lcPostbackElementID === \"btnadwords\"){ $get(\"btnAdWords\").disabled = false; $get(\"btnAdWords\").value='确定';}} ");

ScriptManager.RegisterStartupScript(Page, Page.GetType(), "btnAdWords", sb.ToString(), true);
}

也可直接写在页面脚本里:
复制代码 代码如下:

<script>
function pageLoad()
{
var manager = Sys.WebForms.PageRequestManager.getInstance();
manager.add_beginRequest(OnBeginRequest);
manager.add_endRequest(OnEndRequest)
}
var lcPostbackElementID;
function OnBeginRequest(sender, args)
{
lcPostbackElementID = args.get_postBackElement().id.toLowerCase();
if (lcPostbackElementID === 'btnadwords')
{
$get('btnAdWords').disabled = true;
$get('btnAdWords').value='正在提交...';
}
}
function OnEndRequest(sender, args)
{
if (lcPostbackElementID === \"btnadwords\")
{
$get('btnAdWords').disabled = false;
$get('btnAdWords').value='确定';
}
}
< /script>

更多内容请参考:http://msdn.microsoft.com/zh-cn/magazine/cc163319.aspx
更多精彩内容其他人还在看

Baidu Musicbox 用到的ajax代码

Baidu Musicbox 用到的ajax代码
收藏 0 赞 0 分享

[asp]天枫AJAX百度音乐即时听附下载

[asp]天枫AJAX百度音乐即时听附下载
收藏 0 赞 0 分享

[asp]天枫AJAX blog V1.0 程序提供下载了

[asp]天枫AJAX blog V1.0 程序提供下载了
收藏 0 赞 0 分享

如何解决远程页面抓取中的乱码问题

如何解决远程页面抓取中的乱码问题
收藏 0 赞 0 分享

一个方便AJAX开发的通用类

一个方便AJAX开发的通用类
收藏 0 赞 0 分享

AJAXRequest v0.2

AJAXRequest v0.2
收藏 0 赞 0 分享

一个简单的AJAX请求类

一个简单的AJAX请求类
收藏 0 赞 0 分享

一个Ajax类

一个Ajax类
收藏 0 赞 0 分享

AJAX 常用函数

AJAX 常用函数
收藏 0 赞 0 分享

[ASP.NET Ajax] ECMAScript基础类以及Asp.net Ajax对类&lt;Object&gt;的扩展

[ASP.NET Ajax] ECMAScript基础类以及Asp.net Ajax对类&lt;Object&gt;的扩展
收藏 0 赞 0 分享
查看更多