如何使用Javascript访问iframe元素?
我有一个在iframe中有一个文本区域的网页。我需要从它的子页面JavaScript读取这个textarea的值。目前,通过在JavaScript中使用如何使用Javascript访问iframe元素?,javascript,dom,iframe,Javascript,Dom,Iframe,我有一个在iframe中有一个文本区域的网页。我需要从它的子页面JavaScript读取这个textarea的值。目前,通过在JavaScript中使用window.parent.getelementbyID().value,我能够获取父页面中所有控件的值,iframe中的textarea除外 “我的父页面”中的框架id和框架名称在运行时会更改,因此我们不能使用框架id/框架名称作为参考。如果您有HTML <form name="formname" .... id="form-first"
window.parent.getelementbyID().value
,我能够获取父页面中所有控件的值,iframe中的textarea除外
“我的父页面”中的框架id和框架名称在运行时会更改,因此我们不能使用框架id/框架名称作为参考。如果您有HTML
<form name="formname" .... id="form-first">
<iframe id="one" src="iframe2.html">
</iframe>
</form>
inside
现在是对文档的引用,因此您可以执行getElementsByTagName('textarea')
和任何您喜欢的操作,具体取决于iframe src内部的内容。使用jQuery,您可以使用contents()
。例如:
var inside = $('#one').contents();
仅1个关注点Meder--var inside=iframeRef(document.getElementById('one'))我的页面中的frameid n framename在运行时会发生更改,因此无法传递frameid(如您所做)。还有其他选择吗?有。getElementsByTagName('iframe')引用节点列表并访问[0]中的元素,假设您正在处理一个节点列表。或者你可以做一个循环。谢谢你,梅德。再问一个问题--“frameRef.contentWindow.document”和“frameRef.contentDocument”之间有什么区别?我想了解这背后的概念。如果你能解释一下,那就太好了。非常感谢你的帮助。可以找到一个解释@一些浏览器支持这些dom属性之一,我只是检查其中一个。你是一个天才医生。非常感谢您的即时帮助。完全重复:@archana:RaYell的回答包括您第一次问这个问题时的评论。如果您不知道框架id或名称,可以使用
document.frames[0].document.getElementById()
(如果它不是页面上的第一个
,则可以使用其他一些索引。这里一个重要注意事项的可能重复之处是contents方法可以如果iframe与主页位于同一域中,则获取iframe的内容文档
var inside = $('#one').contents();