父页面和iframe子页面变量的交互

引入:

在项目开发一个小的控件,加载了很多数据,每次使用这个控件都要请求后台动态加载数据,这样可以将数据在登陆的时候就放在Javascript定义的全局变量中,再从这里取,这样就会用到父页面和iframe子页面的交互。

页面原型:

jsonBranchData
<script type="text/javascript">
		var jsonBranchData;
		$(function(){
                        $.ajax({
			    type:'GET',
				url:CONTEXT_PATH+'/sysConfig.do?action=jsonBranchInfo',
			    dataType:'json',
			    success:function(data){
			    	jsonBranchData = data;
			    }
			});
		});
               function test(){alert(1111);}

 </script>
<!--载入内容区-->
	<div class="main" style="overflow: hidden;">
          <input type="text" id = "st">
          <iframe style="border-left: 0px;margin-left: 0px;padding-left: 0px;" name="main_area" frameborder="0" src="${pageContext.request.contextPath }/pageHome.jsp"></iframe>
	</div>

子页面获取父页面的javascript全局变量:

在pageHome.jsp想要获取 jsonBranchData,可以使用 window.parent.jsonBranchData, 注意这个获取的是父页面的全局变量

子页面获取父页面的js对象:

window.parent.document.getElementById('st')  或者 $("#st",window.parent.document)

子页面获取父页面的方法

window.parent.parentMethod(); 例如 window.parent.test()

下面的这些都没有测试过,暂且记下 ,转载http://www.cnblogs.com/Capricorn-HCL/articles/4216302.html

父页面获取子页面的元素

document.getElementById('iframeId').contentDocument.getElementsByTagName('table');
contentDocument后可以使用document相关方法
var tet = document.getElementById('iframeId').contentWindow.document.getElementById("text_inputId");
alert(tet.value);

父页面获取子页面的js变量

这部分目前的解决方案是在父页面设置全局变量,在子页面进行修改后将子页面的变量赋值给父页面


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值