提交后关闭ColorBox iFrame
我正在使用jQuery ColorBox
来显示购物车项目。 当用户在iFrame中输入数量(用colorbox打开)并单击提交按钮时,我希望iFrame关闭,主窗口(父)自动刷新。
我的意思是在iFrame上提交数据后我想要两件事:
- iFrame自动关闭。
- 父窗口自动刷新。
请帮帮我。
在打开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;
似乎对我工作正常:)
如果你想留在当前页面:
-
在应用了colorbox的父页面上编写以下代码。
$(document).ready(function(){ $(".tu_iframe_800x600").colorbox({width:"80%", height:"100%", iframe:false }); });
-
以及当前页面上要关闭colorbox
parent.$.fn.colorbox.close();
的以下代码parent.$.fn.colorbox.close();
注意:请将.tu_iframe_800x600
替换为.tu_iframe_800x600
的html类…