如何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();
希望这可以帮助