2011-01-12 109 views
3

我有一個jQuery模態對話框,其中包含一個iframe,iframe包含一個表單。當用戶提交表單時,我想關閉模式對話框。jQuery iframe modal關閉表單提交

我該怎麼做?上的index.php

jQuery的模式腳本:

<script type="text/javascript"> 
function showRegDialog(url) { 
    $(function() { 
      var $this = $(this); 
      var horizontalPadding = 30; 
      var verticalPadding = 30; 
      $('<iframe id="externalSite" scrolling="no" frameborder="0" class="externalSite" src="' + url + '" />').dialog({ 
       title: ($this.attr('title')) ? $this.attr('title') : 'Choose your location', 
       autoOpen: true, 
       width: 700, 
       height: 700, 
       modal: true, 
       resizable: true, 
       autoResize: true, 
       overlay: { 
        opacity: 0.5, 
        background: "black" 
       } 

      }).width(700 - horizontalPadding).height(700 - verticalPadding);    

    }); 
} 
</script> 

上的index.php鏈接調用showRegDialog模式:

<a href="javascript:showRegDialog('/register.php');">Register now</a> 

這是register.php的內容

<html> 
<body> 
<form action="" method="POST"> 
<input type="text"> 
<input type="submit"> 
</form> 
</body> 
</html> 

回答

4

調用JavaScript函數在父窗口是這樣的:

parent.yourJsFunction(); 

把它放在 「的onsubmit」 在您的形式。

1

您或許正在尋找close

給你的表單一個ID。

$("#formID").submit(function(){ 
    parent.closeModal(); 
}); 

// function for closing modal window (in parent page) 
function closeModal() { 
    $("#externalSite").dialog("close"); 
} 
+0

但是我只有在表單提交後才需要啓動該命令,並且表單在iframe中,那麼如何實現您的解決方案?謝謝 – 2011-01-12 10:47:31

+0

看到我更新的答案。 – rahul 2011-01-12 11:11:22