Bonjour ,
Je souhaiterai récupérer l'id d'un champ contenu dans une iframe contenue elle-même dans ma page HTML pour réutiliser l'ID dans ma page "parent".
Existe t-il un moyen?
Bonjour ,
Je souhaiterai récupérer l'id d'un champ contenu dans une iframe contenue elle-même dans ma page HTML pour réutiliser l'ID dans ma page "parent".
Existe t-il un moyen?










si le site framé est sur le même domaine, oui !
justement avec parents['nomframe']
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
Merci de ta réponse
oui les deux pages sont sur le même domaine par contre quelle information utiliser pour récupérer l'id d'un élément contenu dans l'iframe sans connaitre son id, name, value ? en effet la seule information qui sera en ma possession sera l'ID de l'iframe .
Je n'ai aucune information sur l'élément pour l'appeler
Le mieux serait de pouvoir récupérer l'ID par un clique dans l'iframe sur l’élément souhaité (input text, button, lien...) ou un mouseover mais je ne vois pas comment réaliser cette solution.










sinon passe par la collection frames
si tu n'a qu'un iframe sur la page
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.frames[0]
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
désolé mais je ne comprends pas trop ta réponse, en effet je n'ai qu'un iframe sur ma page.
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.getElementById("id_de_la_frame").contentWindow.document.getElementById("id_de_l-element")
Merci Willpower de ta réponse mais comment accéder à l'élément sans connaitre sont ID ni son NAME ? Car c'est justement l'ID que je souhaite récupérer (par exemple en passant la souris dessus ou en cliquant dessus).
si tu peux modifier ta page enfant, rajoutes-y des événements qui déclencheront des fonctions de la frame parente :
Code : Sélectionner tout - Visualiser dans une fenêtre à part parent.methode_ou_object;
tu peux aussi ajouter un évènement global sur toute la page du genre :
ou depuis la page parente directement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 document.body.onclick = function(evt){ evt = evt || window.event; target = e.target || e.srcElement; alert(target.id); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 document.getElementById("id_de_la_frame").contentWindow.document.body.onclick = function(evt){ evt = evt || window.event; target = e.target || e.srcElement; alert(target.id); }
je ne peux modifier uniquement la page conteneur de l'iframe et non celle pointée par l'iframe, j'ai regardé la solution que tu préconise mais je ne vois pas l’élément "déclencheur".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 document.getElementById("id_de_la_frame").contentWindow.document.body.onclick = function(evt){ evt = evt || window.event; target = e.target || e.srcElement; alert(target.id); }
le "onclick" se déclenche lorsque tu cliques (en l'occurence sur l'iframe)
tu peux le remplacer par un "mouseover" ou "mousemove" selon tes besoins.
j'ai essayé ta solution mais l'action ne semble pas être récupérée, idem pour mouseover et mousemove :/










Code : Sélectionner tout - Visualiser dans une fenêtre à part document.frames[0].location.href
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !










Regarder ce que ça fait pour en déduire ce que tu dois faire pour recupérer l'information voulue ..
Sinon envoie moi ton clavier pas la poste avec une grand rallonge usb comme ça je taperais le code pour toi ???![]()
![]()
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
bon, je te montre une solution car il y a quand même qqes pièges :
http://www.hommk.net/developpez/1.html
(par exemple, tu n'as pas accès aux éléments d'une frame en cross-domain mais non plus pas accès entre 2 pages locales ... ce qui est assez pénible pour faire tes essais en local)
(aussi, je n'arrive personnellement pas à utiliser la propriété "frames" de document donné par spaceFrog, ça ne marche pas sous tous les navigateurs ou alors pas avec les Iframes)
bref, mon exemple est assez court, donc assez simple à comprendre et peut te servir de base pour apprendre par toi-même.
une dernière chose : n'hésite pas à regarder la console d'erreur dans ton navigateur pour trouver la nature et la position des erreurs dans ton code.
Partager