ajax 防止用戶反復(fù)提交的2種解決方案
更新時(shí)間:2013年07月28日 15:46:16 作者:
ajax 防止重復(fù)提交可以通過(guò)在服務(wù)器端加載方法或直接寫(xiě)在頁(yè)面腳本里,具體實(shí)現(xiàn)如下,遇到重復(fù)提交情況的朋友可以參考下,希望對(duì)大家有所幫助
可在服務(wù)器端加載方法:
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);
}
也可直接寫(xiě)在頁(yè)面腳本里:
<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>
更多內(nèi)容請(qǐng)參考:http://msdn.microsoft.com/zh-cn/magazine/cc163319.aspx
復(fù)制代碼 代碼如下:
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);
}
也可直接寫(xiě)在頁(yè)面腳本里:
復(fù)制代碼 代碼如下:
<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>
更多內(nèi)容請(qǐng)參考:http://msdn.microsoft.com/zh-cn/magazine/cc163319.aspx
相關(guān)文章
深入淺析Nginx實(shí)現(xiàn)AJAX跨域請(qǐng)求問(wèn)題
AJAX從一個(gè)域請(qǐng)求另一個(gè)域會(huì)有跨域的問(wèn)題。那么如何在nginx上實(shí)現(xiàn)ajax跨域請(qǐng)求呢?此問(wèn)題難住很多朋友,下面小編給大家?guī)?lái)了Nginx實(shí)現(xiàn)AJAX跨域請(qǐng)求問(wèn)題的相關(guān)知識(shí),感興趣的朋友一起學(xué)習(xí)吧2016-06-06
Ajax 高級(jí)功能之a(chǎn)jax向服務(wù)器發(fā)送數(shù)據(jù)
這篇文章主要介紹了Ajax 高級(jí)功能之a(chǎn)jax向服務(wù)器發(fā)送數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2016-08-08
ajax 登錄功能簡(jiǎn)單實(shí)現(xiàn)(未連接數(shù)據(jù)庫(kù))
未連接數(shù)據(jù)庫(kù)下實(shí)現(xiàn)ajax 登錄功能判斷登陸成功與失敗,喜歡ajax的朋友可以參考下哈,希望對(duì)大家有所幫助2013-05-05
ajax回調(diào)函數(shù)中使用$(this)取不到對(duì)象的解決方法
如果在ajax的回調(diào)函數(shù)內(nèi)使用$(this)的話,實(shí)踐證明,是取不到任何對(duì)象的,需要的朋友可以參考下2014-06-06
基于HTML5 Ajax文件上傳進(jìn)度條如何實(shí)現(xiàn)(jquery版本)
本文給大家介紹基于html5 ajax文件上傳進(jìn)度條是如何實(shí)現(xiàn)的,涉及到html5新增加的formdata對(duì)象的使用,對(duì)html5文件上傳進(jìn)度條感興趣的朋友一起學(xué)習(xí)吧2015-11-11

