Как я могу получить доступ к элементам iframe с помощью Javascript? - PullRequest
53 голосов
/ 21 сентября 2009

У меня есть веб-страница, на которой есть текстовая область внутри iframe. Мне нужно прочитать значение этого текстового поля из его дочерней страницы javascript. В настоящее время, используя window.parent.getelementbyID().value в javascript, я могу получить значения всех элементов управления на родительской странице, кроме текстовой области в iframe.

Идентификатор кадра и имя кадра на моей родительской странице изменяются во время выполнения, поэтому мы не можем использовать идентификатор кадра / имя кадра для справки.

Ответы [ 2 ]

68 голосов
/ 21 сентября 2009

Если у вас есть HTML

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

и JavaScript

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

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

inside теперь является ссылкой на документ, так что вы можете делать getElementsByTagName('textarea') и все, что захотите, в зависимости от того, что находится внутри iframe src.

19 голосов
/ 03 июля 2013

Используя jQuery, вы можете использовать contents(). Например:

var inside = $('#one').contents();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...