首页 > 开发 > AJAX > 正文

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

2024-09-01 08:30:30
字体:
来源:转载
供稿:网友

在ajax中用户重复提交是非常常见的事情,但是有很多小伙伴们都不知道其具体的解决方法,那么现在我们就跟小编去看看ajax防止用户反复提交的解决方案。

可在服务器端加载方法:

 

 

 


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>

ajax防止用户反复提交的解决方案就介绍完了,其实ajax防止重复提交可以通过在服务器端加载方法或直接写在页面脚本里,遇到重复提交情况的朋友可以参考下,希望对大家有所帮助

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表