2011-09-26 196 views
3

我的網站使用php和我創建一個在線測驗和在彈出模式下的測驗顯示。
當前我想使用下面的腳本重定向我的頁面。它會進入我的主頁,但仍然處於彈出模式。我想要它關閉彈出窗口並點擊完成後進入主頁。如何關閉彈出窗口和重定向頁面

我該怎麼做?

<script type="text/javascript"> 

window.parent.location = "../../../" 

</script> 

回答

8

您可以在彈出窗口中訪問打開彈出窗口並使用window.opener屬性。所以,這樣的事情應該工作:

window.opener.location.replace(redirectUrl); 
window.close; 

如果你希望把這種行爲在onclick事件上一個提交按鈕,你正在構建這樣的:

echo "<input type=\"submit\" 
     name=\"finishattempt\" 
     value=\"".get_string("finishattempt", "quiz")."\" 
     onclick=\"$onclick\" />\n"; 

你需要分配字符串window.opener.location.href='someUrl';window.close();到變量$onclick,然後回顯提交按鈕。

+0

我應該在哪裏放置代碼? – Kasim

+0

你應該把它放在任何你想要的:)如果你想要點擊某個按鈕時觸發該行爲,如[JMax said](http://stackoverflow.com/questions/7552726/how-to-close-popup-和-redirect-a-page/7552782#7552782),你可以把它放到那個按鈕上的'onclick'事件處理器上。你能解釋一下你想關閉彈出窗口並重定向開始頁面嗎? –

+0

我想要它後,我點擊提交按鈕。那麼彈出窗口會關閉,然後進入主頁 – Kasim

2

你可以試試這個代碼(在一個HTML按鈕使用):

<input type="button" onclick="parent.window.opener.location='http://homepage.com'; window.close();"> 

而且看看像這樣的一些類似的主題:Javascript: Close Popup, Open New Window & Redirect

[編輯]參見this article

+0

回聲 「 \ n「; – Kasim

+0

我如何將代碼如果我的buttton看起來像這樣 – Kasim

1

這種方式,您可以做到這一點..

<script type="text/javascript"> 
function close_window(){ 
    window.opener.location = 'pop_up.php'; 
    window.close(); 
} 
</script> 

HTML代碼..

<body> 
<form method="post" name="frm_2" id="frm_2"> 
    <input type="submit" name="btn_close" id="btn_close" onclick="return close_window();" /> 
</form> 
</body>