我的页面上有iframe fancybox。在子页面上,我在单击“添加按钮”时向DB添加了一些内容。在此过程之后,我想关闭fancybox并重新加载父页面。我该怎么办?
答案 0 :(得分:1)
这应该在页面重新加载时调用..
window.parent.closeDialogFormSubmit();
//Or
window.top.parent.closeDialogFormSubmit();
此closeDialogFormSubmit
函数应该在该页面上打开精美框。
closeDialogFormSubmit
为精美的盒子关闭代码编写代码。
该函数应该写在$(document).ready(function(){});
或$(function(){});
之外,否则它将找不到函数并给出错误未定义。
答案 1 :(得分:0)
<强> 1)。在子页面
使用API方法parent.$.fancybox.close()
您可以创建一个按钮,如:
<a href="javascript:parent.jQuery.fancybox.close();"><img src="myCloseButton.png" alt="close fancybox" /></a>
请记住这些网页之间的互动受same origin policy的约束,因此,如果子网页位于其他网域parent.$.fancybox.close()
,则可能无效。
编辑:如果在提交表单后应关闭子页面,请使用onsubmit
标记中的form
属性设置结束方法,如:
<form id="login_form" action="process.php" onsubmit="javascript:parent.jQuery.fancybox.close();">
请参阅this post以获取进一步的参考和演示。
<强> 2)。在父页面
将afterClose
回调添加到自定义脚本中,例如:
$(".fancybox").fancybox({
afterClose : function() {
location.reload();
return;
}
});
...关闭fancybox后重新加载页面。请参阅 JSFIDDLE