在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防止重復提交可以通過在服務器端加載方法或直接寫在頁面腳本里,遇到重復提交情況的朋友可以參考下,希望對大家有所幫助