如何使用Javascript访问iframe元素?

时间:2021-11-15 07:10:06

I have a webpage where there is a texarea within a iframe. I need to read the value of this textarea from its child page javascript. Presently by using window.parent.getelementbyID().value in the javascript, I am able to fetch values of all controls in the parent page except the textarea within the iframe.

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

The frame id and frame name in my parent page changes in runtime, hence we cannot use the frame id/frame name for reference.

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

2 个解决方案

#1


63  

If you have the HTML

如果您有HTML

<form name="formname" .... id="form-first">
    <iframe id="one" src="iframe2.html">
    </iframe>
</form>

and JavaScript

和JavaScript

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

var inside = iframeRef( document.getElementById('one') )

inside is now a reference to the document, so you can do getElementsByTagName('textarea') and whatever you like, depending on what's inside the iframe src.

inside现在是对文档的引用,所以你可以做getElementsByTagName('textarea')和你喜欢的任何内容,具体取决于iframe src中的内容。

#2


19  

Using jQuery you can use contents(). For example:

使用jQuery,您可以使用contents()。例如:

var inside = $('#one').contents();

#1


63  

If you have the HTML

如果您有HTML

<form name="formname" .... id="form-first">
    <iframe id="one" src="iframe2.html">
    </iframe>
</form>

and JavaScript

和JavaScript

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

var inside = iframeRef( document.getElementById('one') )

inside is now a reference to the document, so you can do getElementsByTagName('textarea') and whatever you like, depending on what's inside the iframe src.

inside现在是对文档的引用,所以你可以做getElementsByTagName('textarea')和你喜欢的任何内容,具体取决于iframe src中的内容。

#2


19  

Using jQuery you can use contents(). For example:

使用jQuery,您可以使用contents()。例如:

var inside = $('#one').contents();