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

2016-02-19 09:02 22 1 收藏

下面图老师小编跟大家分享一个简单易学的ajax 防止用户反复提交的2种解决方案教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!

【 tulaoshi.com - Web开发 】

可在服务器端加载方法:
代码如下:

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

来源:http://www.tulaoshi.com/n/20160219/1589302.html

延伸阅读
标签: Web开发
ajax缓存和编码问题不难解决,下面是解决方法。 编码问题 默认使用UTF-8,如果一旦发现对象找不到的情况,可能js中输入了中文,同时js的编码格式可能为gb2312,可用记事本打开js,另存为utf-8格式的文档。 通过XMLHttpRequest获取的数据,默认的字符编码是UTF-8,如果前端页面是GB2312或者其它编码,显示获取的数据就是乱码。通过XMLHTTPReq...
标签: Web开发
ajax中文乱码问题在中文中经常会出现这种问题,其实只要稍加注意就不会出现ajax中文乱码这回事情了,注意前后台编码一致.你用的是中文.而ajax传输数据的时候用的是utf-8 ,还有对ajax get方法时最好escape 或urlcode, 代码如下: %@ page contenttype="text/html;charset=gb2312% 如果是用servlet就加 代码如下: response.setcontentty...
标签: Web开发
一类是出现乱码,另外一类是出现javascript系统错误:-1072896658的。提示在XX.innerHTML=xmlhttp.responseText;这行。 其实都是因为编码不统一引起的。解决方法就是加入指定字符编码指令。 一、什么是字符编码 定义见:http://zh.wikipedia.org/wiki/%E5%AD%97%E7%AC%A6%E7%BC%96%E7%A0%81。 通俗的讲:你看到的“我”是一张小图片,每个汉...
标签: Web开发
下班了,刚到家,老婆在做饭,小家伙在玩玩具,暂时没骚扰我。呵呵!趁这空闲写会博客。前两天答应改造DynAjax为JQuery版本,今天就完成这个任务吧。 上一篇随笔介绍了轻量级的Ajax解决方案DynAjax,可惜
标签: ASP
  在做一个在线交流的网站时,有个问题很令我头疼,就是关于实时统计在线用户的问题,客户要求:统计当前在线人数、游客人数、会员人数、在线用户列表,包括游客、会员和管理员(如果是游客,则自动生成游客的ID,如果是会员,则显示会员姓名)。因为它要求有实时性,则首先我将用global.asa解决的想法pass掉。 问题的关键是如何判断用...

经验教程

947

收藏

80
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部