2011-04-06 54 views
0

設置:關閉jQuery的彈出(外部頁)窗口

彈出頁:

<html> 
    <head> 
     <title>popup page</title> 
    </head> 
    <body> 
     <label for="txtArea">Comments:</label> 
     <textarea id="txtArea" type="text" rows="5" cols="25"> 
     </textarea> 
     <input type="submit" value="submit" />&nbsp; 
      <input type="button" value="cancel" /> 
    </body> 
</html> 

主頁:

<html> 
    <head> 
     <title>popup page</title> 
    </head> 
    <body> 
     <a href="#" id="lnkPopup">Post Comment</a> 
    </body> 
</html> 

問題:

我想打開彈出頁面點擊主頁面中的鏈接。這是很容易實現的AJAX插件,但問題是,當用戶點擊submitcancel按鈕時,我想關閉彈出窗口。我怎樣才能做到這一點?我已經看到了從同一頁面顯示另一個塊的示例,並且我們有IDs中的元素,但不包括外部頁面。

+0

這是高度依賴於你所使用的對話框插件。他們大多數有一個'關閉'的方法,你可以觸發 – JohnP 2011-04-06 04:57:47

+0

@JohnP,但我怎麼能從外部彈出頁面觸發?這確實是問題。我用'插件'建議打開。 – TheVillageIdiot 2011-04-06 05:01:57

+0

好吧,如果它是一個實際的彈出窗口,你可以使用'window.opener'。這將讓你訪問父母 – JohnP 2011-04-06 05:12:46

回答

1

由於您已經在使用jQuery,您可以打開彈出窗口作爲模式窗口

一個好的插件這種情況下是Fancybox

從模態窗口中,你可以很容易地關閉窗口按下提交按鈕:

<script type="text/javascript" language="javascript"> 
    $(document).ready(function(){ 
    $("form#yourform").submit(function() { 
     parent.$.fancybox.close(); 
    });}); 
</script> 
相關問題