2011-08-29 53 views
0

我有一個問題得到一個彈出窗口關閉使用JavaScript關閉已改變方向時的彈出窗口

我已經能夠讓其他彈出窗口關閉我的網頁上,但我想我當我最終重定向彈出窗口時會丟失某些東西。例如,在主窗口中,我選擇一個項目並彈出對話框提供信息。接下來,我點擊編輯,它會將響應重定向到編輯頁面。在這裏我做我的更改並點擊提交。提交後,我希望它關閉,但我似乎無法讓它做到這一點。

對於以前的彈出窗口,我會用

ClientScript.RegisterStartupScript(this.GetType(), "CLOSE", "CloseAndRefresh();", true); 

要調用JavaScript我已經坐在我的.aspx文件。這是這樣的:

function CloseAndRefresh() { 
    parent.location.reload(true); 
    parent.ClosePopup(); 
} 

我產生用下面的代碼的彈出窗口:

editButton.OnClientClick = (popupWindow.GetTargetPopupCode("MYURL")); 

然而,這不工作了。我認爲,由於我原來的彈出窗口的重定向,它將所有東西都扔掉了。任何想法我需要修復?

編輯:

我終於到了指出,JavaScript實際上被調用。

我嘗試這些功能並沒有工作過:

window.close(); 
self.close(); 
parent.ClosePopUp(); 

ww = window.open(window.location, "_self"); 
ww.close(); 

謝謝!

回答

0

好的,你可能會密切合作。添加超時可能會有所幫助。這是我用來刷新父項並關閉彈出窗口的代碼。適應這一點,看看是否有幫助:

refreshParent = function(){ 
    window.opener.reload(); 
    setTimeout(function(){ self.focus(); self.close(); }, 2000);   
}  

嘗試使用這樣的:

編輯:刪除從location.reload方法真實參數,每W3規格:

function CloseAndRefresh() { 
    parent.location.reload(); 
    self.close(); 
    return true; 
} 

參見: http://www.w3schools.com/jsref/met_loc_reload.asp

編輯:不要將它作爲啓動腳本添加請嘗試將其添加到提交按鈕的ClientOnClick,如下所示:

<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClientClick="return CloseAndRefresh();" OnClick="..." /> 
+0

我認爲問題在於它從來沒有真正進入代碼。 我發出警告,看看它是否被調用,它似乎並沒有被調用。 – Jabsy

+0

@Jabsy:查看編輯答案。 –

+0

我嘗試了OnClientClick更新,但我仍然沒有從JavaScript獲取任何類型的響應。 – Jabsy