Discussion: js dans iframe
Afficher un message
Vieux 29/06/2007, 10h18   #4
O.L.
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: js dans iframe

Dans son message précédent, Olivier Masson a écrit :
> Olivier Masson a écrit :
>> Bonjour,
>>
>> j'ouvre une page edition.php dans une page à l'aide d'une iframe, au moyen
>> de mootools.
>>
>> La page qui apparait doit exécuter du javascript dès son lancement (cad son
>> apparition dans ce cas) :
>>
>> document.forms[0].ville.options[<?php echo $selected1 ?>].selected = true;
>> ajout(document.forms[0].ville.options[<?php echo $selected1
>> ?>].value,'categorie');
>> document.forms[0].categorie.options[<?php echo $selected2 ?>].selected =
>> true;
>>
>> La fonction ajout() est lu dans la page maitre et est donc bien reconnue
>> (par exemple si je la place dans un onChange).
>> Par contre, pas moyen d'executer ces 3 lignes à l'apparition de l'iframe
>> > le js dans l'entete du fichier edition.php est zappé (j'ai testé en

>> faisant des erreurs de syntaxe, qui ne sont pas détectées) et si je place
>> le code js directement dans le body de edition.php, même problème (le js
>> n'est même pas lu par le navigateur puisqu'il ne détecte pas, là non plus,
>> l'erreur de syntaxe).
>>
>> Alors comment puis-je executer ces 3 lignes de JS à l'affichage de cette
>> page en "pop-up" iframe ? Sachant, et c'est la le problème, que les valeurs
>> $selected1 et 2 sont données par edition.php.
>>
>> Hum... si une personne a compris, bravo et merci.

>
> C'est pas brillant niveau réponse
> J'ai trouvé un truc bien moche : je mets un onLoad sur un gif transparent de
> 1x1 (beurk, comme les vieux spacer immondes à la Photoshop) et dans cet
> onLoad, je n'appelle pas ma fonction puisqu'elle n'est pas vu (quelle soit
> dans le header ou dans le body) mais je mets directement le code. Et ça
> marche.
>
> Si vous avez une plus jolis solution...


Je serais curieux de voir comment tu ouvres ton IFRAME ? Toute cette
histoire de code JS qui ne s'exécute pas est quand même bizarre.

Sinon ton code m'intrigue un peu :
>> ajout(document.forms[0].ville.options[<?php echo $selected1
>> ?>].value,'categorie');

Si c'est dans l'IFRAME que ça s'exécute, et que ajout() est définie
dans la fenêtre parente, je ne vois pas comment ce code peut marcher
.... perso j'aurais mis :
window.parent.ajout(document.forms[0].ville.options[<?php echo
$selected1 ?>].value,'categorie');

Et pareil pour ton document.forms[0], es tu sûr qu'il est dans l'IFRAME
?

Et sinon, es tu sûr sûr sûr que l'affichage des erreurs JS est bien
activé ?

--
Olivier Ligny
www.virgal.net (Monde persistant)


  Réponse avec citation
 
Page generated in 0,06643 seconds with 9 queries