Vraag Hoe krijg ik toegang tot iframe-elementen met Javascript?


Ik heb een webpagina met een texarea in een iframe. Ik moet de waarde van dit textarea lezen via zijn JavaScript-javascript voor kinderen. Momenteel met behulp van window.parent.getelementbyID().value in het javascript kan ik waarden van alle besturingselementen ophalen op de bovenliggende pagina, behalve het tekstgebied binnen het iframe.

De frame-id en framenaam in mijn bovenliggende pagina worden in runtime gewijzigd. Daarom kunnen we de frame-ID / framenaam niet gebruiken als referentie.


50
2017-09-21 04:12


oorsprong


antwoorden:


Als je de HTML hebt

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

en JavaScript

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

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

inside is nu een verwijzing naar het document, dus u kunt het doen getElementsByTagName('textarea') en wat je maar wilt, afhankelijk van wat zich in de iframe src bevindt.


64
2017-09-21 04:20



Met behulp van jQuery kunt u gebruiken contents(). Bijvoorbeeld:

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

19
2017-07-03 10:37