Javascript jQuery iframe模式在表单提交时关闭

Javascript jQuery iframe模式在表单提交时关闭,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有一个jQuery模态对话框,其中有一个iframe,iframe包含一个表单。当用户提交表单时,我想关闭模式对话框 我该怎么做 index.php上的jquery模式脚本: <script type="text/javascript"> function showRegDialog(url) { $(function() { var $this = $(this); var horizontalPadding = 30;

我有一个jQuery模态对话框,其中有一个iframe,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>

函数showRegDialog(url){
$(函数(){
var$this=$(this);
var水平填充=30;
垂直填充变量=30;
$('')。对话框({
标题:($this.attr('title'))?$this.attr('title'):'Choose your location',
自动打开:对,
宽度:700,
身高:700,
莫代尔:是的,
可调整大小:正确,
自动调整大小:正确,
覆盖:{
不透明度:0.5,
背景:“黑色”
}
}).宽度(700-水平填充)。高度(700-垂直填充);
});
}
链接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>

您可能正在寻找

给你的表格一个id

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

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

在父窗口中调用javascript函数,如下所示:

parent.yourJsFunction();

将它放在表单的“onsubmit”中。

但是我只需要在表单提交后启动该命令,并且表单位于iframe中,那么我如何实现您的解决方案呢?谢谢你因为某种原因没能工作。。请看:当我提交表单时,它不会关闭对话框。只是提交表单。我注意到,如果我再次尝试打开对话框并提交表单,它不会关闭它。由于某些原因,只能在第一次使用…您能帮我回答我的问题吗?您能发布一个链接到您的网页吗?您可能需要在关闭对话框后调用销毁功能,因为如果您第二次打开它,您可能有两个ID相同的元素。只是猜测一下,我得到了一个未捕获的TypeError:parent.closeModal不是一个函数,两个函数都位于iframe和主窗口的正确位置