[英]sender._postBackSettings.panelID returns null in non-IE browsers?
[英]sender._postBackSettings.sourceElement is undefined
這就是我想要做的-
當文檔准備好並且頁面沒有回發時使用jQuery,我為updatepanel發出了手動回發,以便從數據庫中檢索數據。
當updatepanel獲取數據時,我會顯示一個updateprogress,當特定的updatepanel完成時,我將其隱藏。 我也想“阻止”任何交互的屏幕。 加載數據后,我在表單上還有其他按鈕,如果有部分回發,我想阻止所有內容。
這是代碼:
$(document).ready(function ()
{
if(<% =(Not Page.isPostBack).ToString().ToLower() %>)
{
__doPostBack('upShipping');
}
}
function pageLoad() {
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_beginRequest(BeginRequestHandler);
prm.add_endRequest(EndRequestHandler);
}
function BeginRequestHandler(sender, args)
{
$('.blur').css("display", "block");
if (args._postBackElement.id == 'upShipping') {
$get('divCalculating').className = 'Show';
}
}
function EndRequestHandler(sender, args)
{
$('.blur').css("display", "none");
if (sender._postBackSettings.sourceElement.id == 'upShipping')
{
$get('divCalculating').className = 'Hidden';
}
}
如果我沒有在屏幕上“單擊”,則一切正常。 但是,如果我在updatepanel更新時僅單擊屏幕上的任意位置,則不會觸發“ EndRequestHandler”,並且會卡住加載的gif和受阻的屏幕。 我在瀏覽器的錯誤控制台中收到以下錯誤:sender._postBackSettings.sourceElement未定義
有任何想法嗎?
謝謝!
缺口
由於某種原因, sender._postBackSettings.sourceElement
在EndRequestHandler
始終以NULL的形式返回。
我定義了一個全局變量,在BeginRequestHandler
為其分配了一個值,並在EndRequestHandler
檢查了它的值。
這樣就解決了問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.