3

FancyBox 2 モーダル iframe ウィンドウでログイン フォームが開いています。しかし、フォームを送信すると、モーダル内で Web ページが開きます。

ログインフォームが送信されたときにFancyboxモーダルを閉じて、基になるページを再読み込みするかどうか、またその方法を教えてください。

これが私の現在のコードです- functions.js ファイル内:

  $(".login-popup").fancybox({
    maxWidth    : 310,
    height      : 300,
    autoSize    : false,
    closeClick  : false,
    openEffect  : 'none',
    closeEffect : 'none'
  });

そして、ここに私のログインリンクがあります:

<a class="login-popup" data-fancybox-type="iframe" href="/popup/login" title="">Login</a>

助けてくれてありがとう、

ステ

編集1:

これを手伝ってくれてありがとう。完全な初心者で申し訳ありませんが、parent.$.fancybox.close(); の取得に問題があります。form submit() イベントで作業します。これが私が現在使用しているコードですが、何か間違っているのでウィンドウを閉じません。どんなアイデア?ありがとう。

$(".login-popup").fancybox({
    closeEffect : 'none',
    'afterClose':function () {
      window.location.reload();
    },
  });

$(".login-form").submit(function(){
  parent.fancyBoxClose();
});
4

1 に答える 1

4

iframe 内から fancybox を閉じるにはparent.$.fancybox.close();form submit()イベントで使用できます。

次に、Fancybox イニシャライザに onClose イベントを追加します。これにより、ページがリロードされます。

$(".login-popup").fancybox({
    maxWidth    : 310,
    height      : 300,
    autoSize    : false,
    closeClick  : false,
    openEffect  : 'none',
    closeEffect : 'none',
    'afterClose':function () {
        window.location.reload();
    },
  });
于 2012-11-16T05:07:04.880 に答える