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)