首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

iframe向父页面传值的有关问题

2013-09-24 
iframe向父页面传值的问题父页面:div idplaylistiframe scrollingno src1.asp frameborder0

iframe向父页面传值的问题
父页面:


<div id="playlist"><iframe scrolling="no" src="1.asp" frameborder="0" id="playframe" name="playframe" width="100%" height="566"></iframe>
</div>

子页面:

<div id="test">asd</div>


如果我在父页面定义一个JS变量,如何让这个变量等于"asd"

<script language="javascript">
var str="asd";
</script>

[解决办法]
说明document.getElementById("playframe")没取到,在onload事件里执行 
window.onload=function(){
var cwin=document.getElementById("playframe").contentWindow;
var str=cwin.document.getElementById("test").innerHTML; 
alert( str )
}
[解决办法]
子页面的脚本既可以给父页面的变量(全局)赋值,也可以操作父页面上的dom元素。
在子页面中,用“window.parent”(window.可以省略)取到父窗口,然后就可以进行操作了,如:

parent.x='value';//给父页面上的变量x赋值字符串‘value’
parent.document.getElementById('test').innerHTML='content';//在父页面上id为test的元素内填充“content”

[解决办法]
改成全局变量,其它地方就可调用到

window.onload=function(){
var cwin=document.getElementById("playframe").contentWindow;
 str=cwin.document.getElementById("test").innerHTML;  //不加var 全局变量
alert( str )
}

[解决办法]
子页面:window.parent.setShippingResult(value, PostageType);
父页面: function setShippingResult(value, PostageType) {
        $("#PostageUsd").html(value);
        $("#_PostageType").val(PostageType);
    }

热点排行
Bad Request.