Version complète: sur le forum Webmaster Hub : Modifier un input d'une frame en js
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Scripts et utilitaires
KaRaK
BOnjour,

J'arrive à modifer un input d'une page :

CODE
document.getElementsByName('numero')[0].value ="123456";


Maintenant, j'essaye de modifier un input d'une frame.

Voici le frameset

CODE
<frameset cols="600,*" frameborder="NO" border="0" framespacing="0">
 <frame src="gauche.htm" name="gauche" scrolling="NO" noresize>
 <frame src="droit.htm" name="droit">
</frameset>


Je place le code suivant dans droit.htm et je desire modifier gauche.htm
CODE
window.frames['gauche'].document.getElementsByName('numero')[0].value ="123456";


Mais cela ne fonctionne pas.

J'ai egalement essayé avec :
CODE
window.gauche.document.getElementsByName('numero')[0].value ="123456";


Sans succès :nono:

Si vous pouvez me donner un coup de main biggrin.gif
TheRec
Bonjour,

L'objet window en Javascript correspond à la fenêtre et donc dans le cas d'une page de cadre à la page que tu as citée...les cadre ne dont pas des enfants, au sens DOM du terme il le sont, mais Javascript le gère les cadres comme des objets à part entière. Je te laisse consulter ce site qui explique l'accès et les méthodes/propriétés/éléments applicables.

Cela dit, utiliser des cadres et du Javascript pour ton site représente un manque d'accessibilité à coup sûr... espérons que tu en es conscient et que tu procèdes ainsi uniquement parce que c'est la "seule" solution wink.gif
KaRaK
Merci pour le lien.
J'ai donc testé avec

CODE
parent.frames[0].document.getElementsByName('numero')[0].value ="123456";
et
parent.gauche.document.getElementsByName('numero')[0].value ="123456";


Sans succès. Pourtant sur la page du lien que tu me proposes, il y a bien ecrit :

CITATION
"Étant donné que l'objet frames est à vrai dire une variante de l'objet Autre page d'information window vous pouvez non seulement utiliser toutes les propriétés et méthodes de l'objet window sur l'objet frames, mais aussi toutes les autres qui dans la hiérarchie sont sous l'objet window. De la même façon que vous pouvez par exemple modifier grâce à window.document.forms[0].elements[0].value = "Serge" le contenu d'un champ de saisie d'un formulaire dans un fichier HTML normal, vous pouvez obtenir la même chose dans un jeu de cadres avec parent.frames[1].document.forms[0].elements[0].value = "Serge"."


Je vais continuer à chercher. biggrin.gif

CITATION(TheRec @ mardi 18 avril 2006, 10h06)
Cela dit, utiliser des cadres et du Javascript pour ton site représente un manque d'accessibilité à coup sûr... espérons que tu en es conscient et que tu procèdes ainsi uniquement parce que c'est la "seule" solution wink.gif


Effectivement c'est la seule solution. Je deteste les frames et le js alors si je pouvais m'en passer... smile.gif
KaRaK
Ca fonctionne Merci.

J'avais en fait du code avant ma partie en JS qui pausait probleme. blush.gif

Bonne journée.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.