希望有人可以提供协助,但我需要从嵌套3级和4级深度的父表单中访问表单和iframe中的值。
基本上,树层次结构(DOM)似乎如下:
<form name="formname" ....>
<iframe id="refframe">
<form name="formname" ...> ==> Level 3
<iframe id="iframe1"> ==> Level 4
现在我在第3级(比如myValue)有一个项目值,我想从顶层访问(父级 - 级别1)
使用javascript,如何从父级顶级访问此项“myValue”?
访问iframe1的iframe id
中的第4级项目也是如此非常感谢任何帮助/示例。
感谢。
根据以上内容,我仍然不确定如何访问信息,但如果我有以下HTML代码:
<div class="tabs0">
<iframe id="refframe" width="1210px" height="584px" frameborder="0" align="left"
overflow="auto" src="http://www.abc.com" home="" name="Site1">
</iframe>
</div>
<div class="tabs1">
<iframe id="refframe" width="1210px" height="584px" frameborder="0" align="left" `overflow="auto" src="http://www.def.com" name="Site2">`
如何从父窗口访问tabs1类iframe中的src值,即
SRC = “http://www.def.com”
再次感谢
答案 0 :(得分:3)
iframe中的内容是否与父文档在同一个域中加载?如果没有,那么由于浏览器安全限制(same domain policy),您将无法通过javascript访问它。
如果它来自同一个域,您应该可以毫无问题地使用getElementById
。
答案 1 :(得分:1)
只需使用id
作为唯一值(因为它应该是 - 参见例如here,第7.5.2节) - 然后,GetElementById完成你想要的,没有要求您导航任何复杂的层次结构。
答案 2 :(得分:1)
<form name="formname" .... id="form-first">
<iframe id="one" src="iframe2.html">
</iframe>
</form>
function iframeRef( frameRef ) {
return frameRef.contentWindow ? frameRef.contentWindow.document : frameRef.contentDocument
}
var inside = iframeRef( document.getElementById('one') )
var secondIframe = inside.getElementsByTagName('iframe')
alert( secondIframe.id ) // make sure theres an iframe with an id in the iframe2.html.
您可以使用iframeRef来抓取iframe内部的引用,并继续这样做以获取子iframe。这适用于IE。