begin process at 2012 02 14 08:08:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Javascript et ActiveX

 > 

Autre

 > 

Communication Parent / Enfant


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Communication Parent / Enfant

lundi 17 septembre 2007 à 10:03:10 | Communication Parent / Enfant

Blacknight91titi

Membre Club
Bonjour,

Après quelques recherche sur javascriptfr et sur google je n'ai malheuresement pas réussit à trouver mon bonheur.
Je suis actuellement sur un projet en dévellopement dont je ne peux malheuresement pas cité le but final.

Bref voici mon problème.
On trouve souvent sur le net des script permettant de communiquer d'une iframe vers la page parent mais rarement une communication partant de la page parent vers l'iframe. Surement me suis dis parce que si ce besoin exite il suffirait de modifier la page chargé dans l'iframe pour voir apparaitre les modifications.

Etant disons initié au javascript il parait étonnant pour moi ne n'avoir jamais essayé de faire cette action.

J'ai essayer divers moyen comme
Iframe = document.getElementById('iframe');
window.Iframe.getElementById('monobjetdansmoniframe').style.border = 'solid'; // ceci est un exemple

Mais apparement sans réel résultat.
Peut être la solution se trouve tout près. Enfin ce code me paraissait à priori juste.

Merci d'avance pour votre/vos réponse(s)


Blacknight
[ Lien ]

Ps : Je ne sais jamais quel Thème choisir pour les topics javascript...
lundi 17 septembre 2007 à 10:34:42 | Re : Communication Parent / Enfant

bultez

Membre Club




bonjour,

c'est comme entre iframe...

page principale :
<iframe src="ifrm.htm"
        name='ifr'
        id="ifr"></iframe>
<button onclick="alert(parent.frames['ifr'].frm.txt.value);">test iframe</button>

l'iframe :
<html>
    <body>
        <form name="frm">
            <input type="text" name="txt" value="exemple" />
        </form>
    </body>
</html>



Cordialement                Bul         [mon Site]     [M'écrire]
En général, c'est absurde de généraliser.
lundi 17 septembre 2007 à 10:37:04 | Re : Communication Parent / Enfant

bultez

Membre Club
mais enfin... il y a peut-être plus simple..

Cordialement            Bul         [mon Site]     [M'écrire]
En général, c'est absurde de généraliser.
lundi 17 septembre 2007 à 10:51:42 | Re : Communication Parent / Enfant

Blacknight91titi

Membre Club
Merci pour ta réponse Bultez (comme à chaque question que je pose c'est toi qui répond).

Après quelques essais sa marche, mais disons que c'est un peu moin pratique car le getElementById et getElementByName n'est pas suporté si je m'en sert pour appelé les éléments se trouvant dans l'iframe.

Pire encore je n'ai pas l'impression que sa marche sous Firefox... (1. et quelques)
Pour IE je suis sous IE6

Avec un utilitaire Firefox il me donne : parent.frames.ifr has no properties //à noter le .ifr alors que dans le code c'est frames['ifr']
Une fois cliqué sur le bouton (test réalisé dans un premier temps avec un copier/coller de ton code)

Donc si Firefox l'aurai suporté, j'aurai pu m'arranger (avec des méthodes pas terrible) pour que le tout marche mais la...
Cela me parait bizarre..

Blacknight
[ Lien ]
lundi 17 septembre 2007 à 11:29:56 | Re : Communication Parent / Enfant

bultez

Membre Club




>>c'est un peu moin pratique car le getElementById et getElementByName n'est pas suporté
    _ jamais utilisé getElementByName ( sauf pour tester )
    _ je préfère utiliser, quand c'est possible, document.name_formulaire.name_champ
       puisque si transmission vers le php, le name est obligatoire.
    mais chacun ses goûts.

>>je n'ai pas l'impression que sa marche sous Firefox
    à priori, tu as raison. je n'avais du tester qu'avec IE ?
        reste à trouver la syntaxe équivalente pour FF et consors...
        ça doit être possible !     ;o)



Cordialement                Bul         [mon Site]     [M'écrire]
En général, c'est absurde de généraliser.
lundi 17 septembre 2007 à 11:34:23 | Re : Communication Parent / Enfant

Blacknight91titi

Membre Club
Réponse acceptée !
Bon après quelques test, essai et autre j'ai trouvé la solution :

alert(window.parent.frames['blog_apercu'].document.getElementById(objet).innerHTML);

Le "window" est accessoire.
Test d'abord réalisé sous Firefox puis IE, correct sur les deux

Firefox 1.5
Internet Explorer 6

Note : Pour que cela marche il faut bien définir un name sur la frame.
Le name étant pour Firefox (IE prend l'un ou l'autre tout seul)

Pour les div j'ai mis un id, pour plus de facilité mon nom de div étant dynamique.
Firefox n'a pas l'air de suporté getElementByName donc je ne met pas de name sur mes div.

Voila voila, en tout cas merci de m'avoir aiguiller Bultez, pour une fois j'ai trouver presque tout seul :p

Blacknight
[ Lien ]
lundi 17 septembre 2007 à 12:08:31 | Re : Communication Parent / Enfant

bultez

Membre Club



nickel.

>>IE prend l'un ou l'autre tout seul
    ie remplace le name par l'id ( ou inversement ) si l'un ( ou l'autre ) n'existe pas
    bien pratique ?  mais ça pose d'autres soucis dans certaines circonstances !

>>name pour iframe,
    window.parent.document.getElementById('ifr')....
    ça devrait le faire aussi ( si l'iframe possède un id )


  

Cordialement                Bul         [mon Site]     [M'écrire]
En général, c'est absurde de généraliser.
lundi 17 septembre 2007 à 12:41:12 | Re : Communication Parent / Enfant

Blacknight91titi

Membre Club
Non apparement pour utiliser l'id de frame uniquement cela ne marche pas, ou alors ce n'est pas la bonne méthode

J'ai essayé différente façon :
window.parent.document.getElementById('ifr')....
window.parent.getElementById('ifr')...

Bref si sa marche avec la méthode de mon précédent message et que la contraire est juste d'ajouter un name sur l'iframe c'est acceptable.

Comme tu dis sa peut poser problème. Personellement il m'est arriver de stocker de variable dans name pour chaque div, ne sachant pas ou les mettres autrement. Bien entendu maintenant je me sert d'autre méthode.

Blacknight
[ Lien ]


Cette discussion est classée dans : page, iframe, communication, enfant, parent


Répondre à ce message

Sujets en rapport avec ce message

iframe, communication enfant / parent [ par concept974 ] Bonjour tout le monde,J'ai une page index.html avec un iframe qui pointe vers la page iframe.htmlLe but est lorsque l'on clique sur le lien "BOUTON" d Onload [ par davidcian ] Bonjour,J'ai Encore un soucis...Le 1er chalenge va être de l'expliquer....Page parent:(fonction chargé dans le head de la page parent, le déclanchemen PROBLEME CREATION "IFRAME" ET "PARENT.DOCUMENT" [ par MALINOIS77 ] Bonjour, Je suis en train d'essayer d'apprendre diverses choses concernant la création des pages web, je fais actuellement des essais interne dans mo Changer la valeur d'une variable dans la page parent à partir de la page enfant [ par jpastier ] Bonjour à tous,J'aimerais savoir s'il est possible de changer une variable dans la fenêtre parent à partir d'une fenêtre enfant.Exemple :- j'ouvre une form target="_parent._parent"??? [ par the_smurf ] Bonjour à tous voici mon problème.J'ai une page html avec une iframe.Cette iframe est définie dans une page html qui contient une seconde iframe.(J'ob Redimensionner une page et non une iframe !!! [ par Leneuf8000 ] Bonjour, voilà j'aimerai pouvoir redimensionner une page que je charge dans un tableau. Je m'explique j'ai un tableau qui me place mes éléments de ma


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,243 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales