如何使用Javascript访问iframe元素?

arc*_*roy 57 javascript iframe dom

我有一个网页,其中iframe中有texarea.我需要从其子页面javascript中读取此textarea的值.目前通过window.parent.getelementbyID().value在javascript中使用,我能够获取父页面中除iframe中的textarea之外的所有控件的值.

我的父页面中的帧ID和帧名称在运行时更改,因此我们不能使用帧ID /帧名称作为参考.

med*_*iev 72

如果您有HTML

<form name="formname" .... id="form-first">
    <iframe id="one" src="iframe2.html">
    </iframe>
</form>
Run Code Online (Sandbox Code Playgroud)

和JavaScript

function iframeRef( frameRef ) {
    return frameRef.contentWindow
        ? frameRef.contentWindow.document
        : frameRef.contentDocument
}

var inside = iframeRef( document.getElementById('one') )
Run Code Online (Sandbox Code Playgroud)

inside现在是对文档的引用,所以你可以做getElementsByTagName('textarea')任何你喜欢的事情,这取决于iframe src里面的内容.


Dou*_*mos 19

使用jQuery你可以使用contents().例如:

var inside = $('#one').contents();
Run Code Online (Sandbox Code Playgroud)

  • 这里一个重要的考虑因素是内容方法可以"获取iframe的内容文档,如果iframe与主页面在同一个域中". (14认同)