2011-01-13 53 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"); 
}