日期:2014-05-17  浏览次数:20783 次

关于iframe子页面去父页面标签值出错问题,求高手指导
本帖最后由 huangwenjun880818 于 2014-04-28 09:26:15 编辑
a.jsp中.iframe应用同域子页面b.jsp
<textarea id="a_message">aaaaaaaaaaaa</textarea><br/><br/>
<input  type="button" onclick="callChild()" value="parent"/><br/><br/>
<iframe src="b.jsp" width="220" height="120" id="iframe"></iframe> 
<script> 
function callChild(){
                    alert(document.getElementById("iframe").contentWindow.document.getElementById("b_message").value);
}
</script> 

同域的b.jsp
<textarea id="b_message">bbbbbbb</textarea><br/><br/>
<input  type="button" onclick="callParent()" value="child"/>
<script> 
function callParent(){ 
alert(window.parent.document.getElementById("a_message").value);

</script>


点击a.jsp中iframe嵌入的b.jsp页面的按钮.可以正常获取a.jsp便签的属性值.但是直接点击b.jsp页面的按钮.就报找不到a.jsp的标签
------解决方案--------------------
你这代码我这测试通过,你查看下是否页面上id有冲突?
------解决方案--------------------
你代码ie 可以实现的。
------解决方案--------------------
引用:
Quote: 引用:

你说的直接点击是什么意思 ,
是将b.jsp独立出来 然后点击吗?


是的

这个时候a.jsp不是b.jsp 的父页面。应该说b.jsp 没有父页面
window.parent.document.getElementById("a_message") 必然出错