【问题标题】:jQuery iframe modal close on form submitjQuery iframe 模式关闭表单提交
【发布时间】:2011-01-12 10:42:04
【问题描述】:

我有一个带有 iframe 的 jQuery Modal 对话框,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">
<input type="text">
<input type="submit">
</form>
</body>
</html>

【问题讨论】:

    标签: javascript jquery html forms


    【解决方案1】:

    像这样在父窗口中调用javascript函数:

    parent.yourJsFunction();
    

    将其放入表单中的“onsubmit”中。

    【讨论】:

    • 刚刚注意到一些事情,如果我再次尝试打开对话框并提交表单,它不会关闭它。出于某种原因,只能在第一次使用...
    • 您能帮我解答一下吗?
    • 你能发布一个链接到你的网页吗?
    • 可能是你需要在关闭对话框后调用destroy函数,因为如果你第二次打开它,可能会出现两个相同ID的元素。只是猜测
    • 我得到一个 Uncaught TypeError: parent.closeModal 不是一个函数,这两个函数都在 iframe 和主窗口的正确位置
    【解决方案2】:

    您可能正在寻找close

    给你的表单一个id。

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

    【讨论】:

    • 但是我需要在表单提交后启动该命令,并且表单在 iframe 内,那么我该如何实施您的解决方案?谢谢
    • 由于某种原因无法正常工作。请参阅:pastebin.com/npaBAt6a 当我提交表单时它不会关闭对话框。只需提交表单..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-25
    • 2023-04-04
    • 2016-04-17
    • 1970-01-01
    • 1970-01-01
    • 2011-06-03
    • 2021-08-02
    相关资源
    最近更新 更多