提交后关闭ColorBox iFrame

时间:2010-01-05 23:35:58

标签: jquery iframe colorbox

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

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

  1. iFrame会自动关闭。
  2. 父窗口自动刷新。
  3. 请帮帮我。

8 个答案:

答案 0 :(得分:36)

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

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

这将关闭iframe页面中的iframe:

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

答案 1 :(得分:3)

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

window.parent.location.reload(true);

答案 2 :(得分:2)

<form target="_top">

答案 3 :(得分:1)

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

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

答案 4 :(得分:1)

像这样给出表格标签:

<form target="_top">

然后提交:

response.redirect("your form")

答案 5 :(得分:1)

只需模拟点击关闭按钮,就像这样:

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

答案 6 :(得分:0)

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

parent.jQuery.colorbox.close();

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

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

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

似乎对我很好。)

答案 7 :(得分:0)

如果您想留在当前页面:

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

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

  3. 注意:请将.tu_iframe_800x600替换为调用colorbox的html类...