我正在使用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窗口,但仍然可以在父窗口中有效地运行窗体功能?
答案 0 :(得分:2)
假设#enterButton
是submit
按钮,您最好调用
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