Как я могу получить доступ к элементам 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();