Как я могу получить доступ к элементам iframe с помощью Javascript?

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

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

2 ответа

Решение

Если у вас есть 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.

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

var inside = $('#one').contents();
Другие вопросы по тегам