2011-01-13 49 views
0

我有一個jQuery模式對話框,iframe包含一個表單。當用戶提交表單時,我想關閉模式對話框。jQuery iframe模式關閉表單提交部分作品

我設法通過添加在這個問題中編寫的代碼的最後一點來做到這一點,但問題是它只關閉一次對話框,如果我再次打開它並嘗試關閉它,它不起作用。上的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" onsubmit="parent.closeModal();"> 
<input type="text"> 
<input type="submit"> 
</form> 
</body> 
</html> 

我已將此添加到index.php:

function closeModal() { 
    $("#externalSite").dialog("close"); 
} 

回答

0

你可以嘗試爲您的index.php

function closeModal() { 
    $("#externalSite").dialog("destroy"); 
}