如何closuresiframe中的colorbox?

我有一个页面manageGroup.php,其中用户也可以添加成员组。 我用colorbox来显示addGroupMember.php。 现在我需要closures那个colorbox一旦我提交表单。

javascript我在manageGroup.php中使用

<script language="javascript" type="text/javascript" src="js/jquery-1.3.2.js"></script> <script type="text/javascript" src="js/dropdown.js"></script> <script type="text/javascript" src="js/jquery.colorbox.js"></script> <script type="text/javascript"> $(document).ready(function(){ $(".iframe").colorbox({width:"80%", height:"80%", iframe:true}); }); </script> 

我用来打开colorbox的链接

 <a class="iframe" href="addGMember.php?id=<?php echo base64_encode($fetch->g_id)?>">Add Member</a> 

addGroupMember.php中的代码是这样的: –

 if($_POST['add']=="Go") { $gid = $_POST['id']; $ii=0; $insert = "INSERT INTO ".DBGMEMBER." (gm_g_id,gm_m_id) VALUES "; foreach($_POST['gMember'] as $gMember) { if($ii==0) { $insert .= " ('".$gid."' , '".$gMember."')"; } else { $insert .= " ,('".$gid."' , '".$gMember."')"; } $ii++; } $db->execute($insert);// after this i want to close the colorbox echo "<script>parent.$.fn.colorbox.close(); </script>";// code i used, but not working } 

这个对我来说是完美的,应该为你工作

parent.jQuery.colorbox.close()
parent.jQuery.colorbox.close() 

我已经为我做了,有点疯狂的方式,反正你也可以试试看。

假设iframe中的页面为x.php,其格式为xyz

 <?php if($_post['submit']=='Submit') { //some php code here if(success) echo "<script>parent.$.fn.colorbox.close(); </script>"; else { //some error handling here; } } ?> <form name='xyz' action='x.php'> //some html code here <input type='Submit' name='submit' /> </form> 

首先:阐述你的问题。 你提供的信息是一些短缺的。 没有机会抓住你正在做的事情。 还包括一些更多的示例代码。

唯一我能猜到的是你试图触发这个方法的写法。 您添加到$ .fn对象的所有内容都绑定到所有jQuery对象。

 // doesn't work $.fn.colorbox.close() // proper way $('idOfDomElement').colorbox.close() 

..fredrik

只是这个

 parent.$.colorbox.close() 

似乎为我工作!

我用这个,甚至没有引用加载到iframe的文件中的任何JS。

  <a href="javascript:parent.$.colorbox.close()">close</a> 

这仅仅在一个空白的HTML文件似乎工作。

确保在iFrame内加载页面。 所有对colorbox js,jQuery js的必要引用都是不需要的。

然后父母closures电话将工作:

 parent.$('.yourElement').colorbox.close(); 

我认为问题在于colorbox属于父级,而不是iframe中的DOM。

我的猜测是你需要调用parent [获取元素或$ .fn对象的方法] .colorbox.close(),或者需要向父文档添加一个函数并调用parent.myCloseFunction()

我只是试图从iframe中closurescolorbox,但无法使其工作。 我用$('#closebox')。colorbox.close()并没有任何运气。

实际上有一个简单的解决scheme,我使用。

我把这个<a id="btnDone" href="#">here</a>里面代码,或者你可以使用你的提交button的ID和

  $(document).ready(function () { $("#btnDone").click(function () { window.parent.location = "../siparisler/listele.aspx" }); } 

这样你可以redirect父页面。 并且colorbox自动closures。 如果你不需要redirect,只需把“#”放在window.parent.location中

我没有设法使用build议的解决scheme来closuresColorbox。 我得到父母undefined …所以..


我发现采取了不同的方法:

主文档:( iframe:false )这将在同一个文档中打开DIV中的ajax_page

 $(document).ready(function(){ $("#modalwindow").colorbox({ width:"800px", height:"510px", iframe:false, href:"../ajax_page.php", }); }); 

并在ajax_page

 $('#modalwindow').colorbox.close(); 

希望这可以帮助