Forum de discussion
Forum « Programmation Javascript » (archives)
Re: Acceder au contenu d'une 'iframe'
Envoyé: 23 avril 2004, 11h59 par Oznog
C'est bien ce que je pensais.
Je VAIS DONC REDIRE LA MÊME CHOSE. (présent dans les tutoriels d'ailleurs!)
11111111111111111111111111
> J'ai donc remplacé la IFRAME par une DIV (en plus ca fonctionnera mieux sous NS4+): J'ai trouvé !! valeurChamp = document.getElementById("maDiv").document.monFormulaire.champ1.value;
111111111111111111111111111
1. Bien sûr que ton exemple fonctionne. C'est ccomme prendre la voiture et le train pour aller à la même place et en même temps.
À preuve :
<html>
<head>
<script language="javascript" type="text/javascript">
function twAfficheValleurDeFormulaireDiv(_div,_form) {
alert(document.getElementById(_div).document.nomFormulaire.champ1.value);
}
</script>
</head>
<body>
<div id="maDiv">
<form name="nomFormulaire" onsubmit="twAfficheValleurDeFormulaireDiv('maDiv',this);">
<input type="text" name="champ1" >
<input type="submit" name="Submit" value="Submit" >
</form>
</div>
</body>
</html>
MAIS COMME JE T'AI DIT, le formulaire à sa propre structure qui n'a absolument rien à voir avec le DOM du document. Structure qui est document.nomFormulaire.champ1.value
POINT À LA LIGNE.
Donc si j'enlève de ton exemple que j'ai reproduit en entier ici LE BOUT INUTILE SOIT (document.getElementById(_div).)
Ça donne :
<html>
<head>
<script language="javascript" type="text/javascript">
function twAfficheValleurDeFormulaireDiv2(_div,_form) {
alert(document.nomFormulaire.champ1.value);
}
</script>
</head>
<body>
<div id="maDiv">
<form name="nomFormulaire" onsubmit="twAfficheValleurDeFormulaireDiv2('maDiv',this);">
<input type="text" name="champ1" >
<input type="submit" name="Submit" value="Submit" >
</form>
</div>
</body>
</html>
De là le message de lire et donc savoir ce qu'est un formulaire peut importe 5, 10 ou 25 ans!
222222222222222222222222222222
> mon problème était d'accéder à un élément de formulaire à l'intérieur d'un IFRAME depuis le document HTML global: Je n'ai pas trouvé!!
22222222222222222222222222222222
J'ai donnée la réponse dans ma première réponse :
val valeurCh = document.monCadreFormulaireQueJeNeSaisCeQuilFaitSansUnIndice.F.ch.value
ALORS POUR QUE TU PUISSE MAINTENANT COMPRENDRE, VOILÀ UN EXEMPLE COMPLET :
Page principale:
=====================
<html>
<head>
<script language="javascript" type="text/javascript">
function twAfficheValleurDeFormulaireDiv(_form) {
alert(_form.champ1.value);
}
</script>
</head>
<body>
<iframe src="iFrameForm2.htm" height="200" width="200" name="Trucsweb" scrolling="auto"></iframe>
<form name="nomFormulaire">
<input type="submit" name="Submit" value="Submit" onclick="twAfficheValleurDeFormulaireDiv(document.Trucsweb.nomFormulaire)" >
</form>
</body>
</html>
Page du iFrame
===============
<form name="nomFormulaire" onsubmit="parent.twAfficheValleurDeFormulaireDiv(this)">
<input type="text" name="champ1" >
<input type="submit" name="Submit" value="Submit" >
</form>
Comme tu vois et avant que tu ne pose la question de cette 3ième possibilité, j'ai mit un bouton pour récupérer la valeur à l'extérieur du iFrame et un autre à l'intérieur.
ET BIEN SÛR PEUT IMPOORTE LES DIV DU DOCUMENT iFRAME...
Ciao
Oznog
Réponses
|