我的页面上有 iframe fancybox。在子页面上,单击“添加按钮”时,我向 DB 添加了一些内容。在这个过程之后,我想关闭fancybox并重新加载父页面。我该怎么做?
问问题
5454 次
2 回答
1
这应该在页面重新加载时调用..
window.parent.closeDialogFormSubmit();
//Or
window.top.parent.closeDialogFormSubmit();
此closeDialogFormSubmit
功能应该在该页面上打开的精美框中。
closeDialogFormSubmit
为花哨的盒子关闭代码编写代码。
该函数应该写在外面$(document).ready(function(){});
, $(function(){});
否则它将找不到该函数并给出未定义的错误。
于 2013-01-10T07:41:36.610 回答
0
1)。在子页面
使用 API 方法parent.$.fancybox.close()
您可以创建一个按钮,如:
<a href="javascript:parent.jQuery.fancybox.close();"><img src="myCloseButton.png" alt="close fancybox" /></a>
请记住,这些页面之间的交互受同源策略的约束,因此如果子页面位于另一个域中,parent.$.fancybox.close()
则可能无法正常工作。
编辑:如果在提交表单后应该关闭子页面,则使用标签onsubmit
中的属性设置关闭方法,如:form
<form id="login_form" action="process.php" onsubmit="javascript:parent.jQuery.fancybox.close();">
请参阅此帖子以获取更多参考和演示。
2)。在父页面中
afterClose
将回调
添加到您的自定义脚本中,例如:
$(".fancybox").fancybox({
afterClose : function() {
location.reload();
return;
}
});
...关闭fancybox后重新加载页面。见JSFIDDLE
于 2013-01-10T08:07:23.360 回答