跨域中,子窗口与父窗口的传值取值

 版权声明:本文为博主原创文章,未经博主允许不得转载。

第一次写子窗口与父窗口的传值取值的时候,我上网搜索了一些资料,然后我做了一个小的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自然就是你传过去的信息    
原文地址:https://www.cnblogs.com/yccmelody/p/7404545.html