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 に答える