ajax 防止用戶反復提交的2種解決方案
更新時間:2013年07月28日 15:46:16 作者:
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>
更多內容請參考:http://msdn.microsoft.com/zh-cn/magazine/cc163319.aspx
復制代碼 代碼如下:
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
相關文章
JQuery+Ajax+Struts2+Hibernate框架整合實現完整的登錄注冊
最近沒有項目做,閑著沒事,看到一個書城的網站很好,于是就是仿了一個,把里面的ui直接拿過來用,前端后端自己寫的,目前大部分的功能已經實現了。2015-10-10