0

我正在使用 Fancybox 触发搜索表单弹出窗口,该表单使用 Javascript 验证来检查和提交。我遇到的问题是我无法关闭 Fancybox 屏幕然后运行该功能。这是我目前正在使用的代码:

<form id="searchForm" method="post" action="<?php echo $search; ?>.php?type=rad" onsubmit="javascript:parent.jQuery.fancybox.close();">

$('#enterButton').click(function()
        {
        if(searchok == 1)
        {           
            $('.searchValidation').addClass("sending");
            $("#searchForm").submit();
        }
        else
        {
        $('.searchValidation').addClass("validationError");
        }
        return false;
        });

如何在 submit() 上关闭fancybox 窗口,但仍有效地在父窗口中运行表单功能?

4

1 回答 1

2

假设#enterButtonsubmit按钮,你最好调用

parent.jQuery.fancybox.close();

在验证函数内部。我建议这样的事情:

$('#enterButton').click(function()
        {
        if(searchok == 1)
        {           
            $('.searchValidation').addClass("sending");
            $("#searchForm").submit();
            parent.jQuery.fancybox.close();
        }
        else
        {
        $('.searchValidation').addClass("validationError");
        }
        return false;
        });

但是parent.jQuery.fancybox.close();,仅当您在iframe. 您可以将其替换为jQuery.fancybox.close();

这是您可以检查的参考:parent.jQuery.fancybox.close(); 从 Fancybox 内只关闭 Fancybox 一次

于 2013-10-19T10:26:15.170 回答