J'ai une page Web où il y a un texarea dans un iframe. J'ai besoin de lire la valeur de cette zone de texte à partir de sa page enfant javascript. Actuellement, en utilisant window.parent.getelementbyID().value
dans le javascript, je suis capable de récupérer les valeurs de tous les contrôles de la page parent, à l'exception de la zone de texte dans l'iframe.
L'ID de trame et le nom de trame dans ma page parent changent au moment de l'exécution, donc nous ne pouvons pas utiliser l'ID de trame/nom de trame pour référence.
Si vous avez le HTML
<form name="formname" .... id="form-first">
<iframe id="one" src="iframe2.html">
</iframe>
</form>
et JavaScript
function iframeRef( frameRef ) {
return frameRef.contentWindow
? frameRef.contentWindow.document
: frameRef.contentDocument
}
var inside = iframeRef( document.getElementById('one') )
inside
est maintenant une référence au document, vous pouvez donc faire getElementsByTagName('textarea')
et ce que vous voulez, selon ce qui se trouve à l'intérieur du src iframe.
En utilisant jQuery, vous pouvez utiliser contents()
. Par exemple:
var inside = $('#one').contents();