关于表单提交的jQuery iframe模式关闭部分工作

时间:2011-01-13 12:25:10

标签: jquery forms modal-dialog

我有一个带有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 modal:

<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");
}

1 个答案:

答案 0 :(得分:0)

您可以尝试使用index.php

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