Page 1 sur 1

Descendre dans une IFRAME

Publié : 05 févr. 2005, 18:09
par travel light
Dans le cadre de l'adaptation de mons site, je reecris des pages et la j'ai un probleme :

Je voudrais modifier une valeur dans un champ de formulaire qui se trouve lui meme dans une IFRAME

Dans la page contenant l'IFRAME j'ai donc utiliser la syntaxe suivante :

document.getElementById("iddeiframe").forms["nameduformulaire"].elements["nameduchamp"].value=unevaleur

FF me signale l'erreur suivante :

Erreur : document.getElementById("iddeiframe").forms has no properties

Ca me semble pourtant conforme au DOM ?

Savez vous ce qui m'echappe ?

Publié : 05 févr. 2005, 22:16
par SB
Mais puisque tu es dans l'iframe, tu ne peux pas faire plus simple ?

Code : Tout sélectionner

document.forms["nameduformulaire"].elements["nameduchamp"].value=unevaleur

Publié : 06 févr. 2005, 11:33
par travel light
Je ne suis justement pas dans l'IFRAME, je suis dans le document qui contient l'iframe et c'est depuis la que je veux descendre dans l'IFRAME et c'est bien cette passerelle qui semble poser "probleme"

Publié : 07 févr. 2005, 10:30
par SB
J'ai du mal à voir comment tu peux être en dehors des frames, ou alors tu veux dire que tu es dans une autre frame. Dans ce cas le code serait plutôt

top.iddeiframe.document.forms["nameduformulaire"].elements["nameduchamp"].value=unevaleur

Publié : 07 févr. 2005, 12:37
par Mirovinben
il me semble que l'accès au contenu d'un iframe se fait via la mention "target"
Je ne peux en dire plus n'utilisant pas le iframe. Je te propose un p'tit tour ici... au cas où ça puisse t'aider.

Publié : 07 févr. 2005, 20:22
par travel light
J'ai du mal à voir comment tu peux être en dehors des frames
Je suis dans une page qui contient une IFRAME (Inline Frame) ce n'est donc pas un jeu de cadres, il n'y a aucune raison de remonter d'un niveau avec Dans le doute j'ai quand meme essaye, mais ca ne marcche pas.

Target est un "argument" HTML pour donner (comme son nom l'indique) une cible mais a un lien.

Moi ce que je veux, c'est m'adresser a un element via le DOM, en IE ca donne

Code : Tout sélectionner

namedeiframe.nameduformulaire.nameduchamp.value = unevaleur
Je sais que IE a un traitement un peu laxiste, raison pour laquelle je souhaitais coder en

Code : Tout sélectionner

document.getElementById("iddeiframe").forms["nameduformulaire"].elements["nameduchamp"].value=unevaleu
mais ca ne marche pas ca me semble pourtant "conforme", un specialiste du DOM dans le coin ?

Publié : 08 févr. 2005, 06:17
par Mirovinben
Voui mais... peut être que je dis une bêtise, mais il pourrait s'agir d'un document dans un autre document... à rapprocher du dernier post de ce fil

Avec un outil pour visionner le DOM d'une page, nous pourrions voir comment le document contenu dans le <iframe> est incorporé dans le document principal. D'ailleur, cht'ite question "annexe" y a-t-il ce type d'outil en extension de FireFox 1.0 ?

Publié : 08 févr. 2005, 08:20
par travel light
Bravo Mirovinben, c'est exactement ce que je cherchais !

J'avais pourtant fait une recherche sur le forum avec le terme "iframe" je pensais que ca sortirait aussi les termes "iframes" je le saurai pour la prochaine fois

Pour repondre a ta question, j'ai effectivement un inspecteur DOM sous FF 1.0, je crois que j'avais pris l'option "installer avec les outils de developpement" a l'installation. J'espere que ca t'aide parceque moi tu m'as vraiment aider.

J'aurais pu aussi penser a utiliser justement cet outil dont je commence a comprendre serieusement l'interet ! :lol:

Publié : 08 févr. 2005, 09:19
par SB
Mandorallen a écrit :...onClick="top.iframe_name.document.form_name.submit();" fonctionne
C'était quand même pas loin de ma solution. :?:

Publié : 08 févr. 2005, 12:31
par Mirovinben
travel light a écrit :Pour repondre a ta question, j'ai effectivement un inspecteur DOM sous FF 1.0, je crois que j'avais pris l'option "installer avec les outils de developpement" a l'installation.
J'ai installé FF sur 2 machines (une en W2000 et une en XP-SP2) et je n'ai pas le souvenir que ce type de possibilité m'aie été offerte...
Bon, comme je m'écarte du sujet, je crée un nouveau topic.

[Edit] pb d'install inspecteur DOM résolue ! Il faut passer par "install personnalisée" au lieu de "install standard".

Publié : 08 févr. 2005, 19:54
par travel light
C'était quand même pas loin de ma solution.
C'est vrai, peut etre que ca ne marchait pas avec ID au lieu de NAME ce qui parait etrange puisque l'attribut NAME est en voie d'extinction

Peut etre ausssi qu'a force de tester un tas de truc, c'est autre chose qui posait probleme

En tout cas merci a tous les deux !