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


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

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

2   51  

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();