0

我的页面上有 iframe fancybox。在子页面上,单击“添加按钮”时,我向 DB 添加了一些内容。在这个过程之后,我想关闭fancybox并重新加载父页面。我该怎么做?

4

2 回答 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 回答