web-dev-qa-db-ja.com

送信後にColorBox iFrameを閉じます

JQuery ColorBox を使用してショッピングカートアイテムを表示しています。ユーザーがiFrame(カラーボックスで開かれた)に数量を入力して送信ボタンをクリックすると、iFrameが閉じてメインウィンドウ(親)が自動的に更新されるようにします。

IFrameにデータを送信した後、次の2つのことが必要になります。

  1. iFrameは自動的に閉じます。
  2. 親ウィンドウが自動的に更新されます。

私を助けてください。

18
diEcho

iframeを開くときに、これを親ウィンドウで使用します。

$(document).ready(function(){
    $(".chpic").colorbox({width:"80%", height:"80%", iframe:true, 
        onClosed:function(){ location.reload(true); } });
});

そして、これはiframeページ内のiframeを閉じるためのものです:

parent.$.fn.colorbox.close();
36
nik

フォームがフレーム1で送信された後、次のJavaScriptを使用して親フレームを再ロードできます。

window.parent.location.reload(true);
3
barsh
<form target="_top">
2
Amien

jquery.colorbox.jsを開いて、次の2つのコードを見つけます:

$close.click(function () {
  publicMethod.close(); 
});


$overlay.click(function () {
  if (settings.overlayClose) {
    publicMethod.close();
  }
});

これらと置き換える-"window.location.reload();"の追加に注意してください

$close.click(function () {
  publicMethod.close();
  window.location.reload();         
});


$overlay.click(function () {
  if (settings.overlayClose) {
    publicMethod.close();
    window.location.reload();
  }
});
2
Rohan4

次のようにフォームタグを付けます:

<form target="_top">

送信後:

response.redirect("your form")
1
karthik

次のように、閉じるボタンのクリックをシミュレートするだけです。

$("#cboxClose").click();
1
Lilla

私は見てみましょう http://colorpowered.com/colorbox/core/example1/index.html

具体的には、「アラートの例」をご覧ください。

1
sberry

Drupal 7を使用している場合、次の代替手段を使用する必要があるかもしれません:

parent.jQuery.colorbox.close();

D7では、$。fnはjQueryオブジェクトに置き換えられているようです。

私は単にこれを返したメニューコールバックを設定しました:

return <<<EOF
<script type="text/javascript">
  <!--//--><![CDATA[//><!--
  parent.jQuery.colorbox.close();
  //--><!]]>
</script>
EOF;

私にとってはうまく機能しているようです:)

0
Nick

現在のページに留まりたい場合:

  1. colorboxが適用される親ページに次のコードを記述します。

    _$(document).ready(function(){
    
     $(".tu_iframe_800x600").colorbox({width:"80%", height:"100%", iframe:false 
    
      });
    });
    _
  2. カラーボックスを閉じる現在のページの次のコードparent.$.fn.colorbox.close();

注:_.tu_iframe_800x600_を、カラーボックスが呼び出されるhtmlクラスに置き換えてください...

0
jalalkhan121