提交后关闭ColorBox iFrame

我正在使用jQuery ColorBox来显示购物车项目。 当用户在iFrame中输入数量(用colorbox打开)并单击提交按钮时,我希望iFrame关闭,主窗口(父)自动刷新。

我的意思是在iFrame上提交数据后我想要两件事:

  1. iFrame自动关闭。
  2. 父窗口自动刷新。

请帮帮我。

在打开iframe时在父窗口上使用它:

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

这将关闭iframe页面中的iframe:

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

在第1帧中提交表单后,您可以使用以下JavaScript重新加载父框架:

 window.parent.location.reload(true); 

打开jquery.colorbox.js找到这两段代码:

 $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(); } }); 

我想看看http://colorpowered.com/colorbox/core/example1/index.html

具体来说,请看“警报示例”

 

只需简单地模拟关闭按钮,就像这样:

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

像这样给表单标签:

 

提交后:

 response.redirect("your form") 

如果您使用的是Drupal 7,则可能需要使用以下替代方法:

 parent.jQuery.colorbox.close(); 

在D7中,$ .fn似乎被jQuery对象取代。

我只是设置了一个菜单回调,它只返回了这个:

 return <<   EOF; 

似乎对我工作正常:)

如果你想留在当前页面:

  1. 在应用了colorbox的父页面上编写以下代码。

     $(document).ready(function(){ $(".tu_iframe_800x600").colorbox({width:"80%", height:"100%", iframe:false }); }); 
  2. 以及当前页面上要关闭colorbox parent.$.fn.colorbox.close();的以下代码parent.$.fn.colorbox.close();

注意:请将.tu_iframe_800x600替换为.tu_iframe_800x600的html类…