提交表格并关闭Fancybox,Javascript

时间:2013-10-19 09:45:07

标签: javascript jquery forms fancybox submit

我正在使用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窗口,但仍然可以在父窗口中有效地运行窗体功能?

1 个答案:

答案 0 :(得分: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();。您可以将其替换为{{1}}

以下是您可以查看的参考:parent.jQuery.fancybox.close(); from within Fancybox only closes Fancybox once