当子页面提交并重新加载父页面时关闭iframe fancybox

时间:2013-01-10 07:28:40

标签: c# jquery fancybox

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

2 个答案:

答案 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