2011-01-12 86 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