跨域中,子窗口与父窗口的传值取值
版权声明:本文为博主原创文章,未经博主允许不得转载。
第一次写子窗口与父窗口的传值取值的时候,我上网搜索了一些资料,然后我做了一个小的Demo,发现他们一般的传值方式都是比较简单的.但是有时候在不同环境下的操作不一定可以用到
根据http://blog.csdn.net/qq_26676207/article/details/50973890 博客,侵立删
//获取父窗口的值 var bmid=window.opener.document.getElementsByName('bmids')[0].id;//根据name获取父文本框id var bmids=window.opener.document.getElementById(bmid).value;获取父文本框的值 //在子窗口给父窗口赋值 var bmids=window.opener.document.getElementsByName('S_department')[0].id;//根据name获取父文本框id window.opener.document.getElementById(bmids).value=bmname;//子窗口向父窗口文本框赋值
我本人的环境是使用了fancybox插件 ,Fancybox是一款基于jquery开发的类Lightbox插件。 官网: http://fancybox.net/
在父页面中:
<script type="text/javascript"> //fancybox弹出框 function list(id) { $.fancybox({//调用fancybox弹出层 'type':'iframe', 'href':'URL地址', 'width' : 940, 'height' : 900, 'showCloseButton' : true, 'centerOnScroll' : true, 'hideOnOverlayClick' : true, }); }; </script>
<textarea id="userId" rows="5" cols="20" onclick='list("1")'></textarea>
fancybox插件的介绍我的不多说了,各位看官有时间可以去了解一下
上面的意思的是 点击textarea输入框的时候,弹出一个框架
在框架中点击确认的时候 把选择的信息返回到textarea框中
这个框架是子窗口
$('#userId', parent.document).attr("value", data); //userId就是你要把信息赋值在输入框中的id data自然就是你传过去的信息