Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# remplir un menulist

Envoyé par : demanghonj

Date : 01/03/2007 12:00

Bonjour,

J'ai une menulist qui contient juste un element. Quand j'ouvre ma fenêtre je rempli cette liste avec un script. Je fais l'action sur l'evenement onload de window. Seulement le script s"execute avant que la menulist soit chargée. Mais si j'execute ce script une fois que la fenêtre apparait alors le script fonctionne et la menulist est rempli.

Comment je peux faire pour attendre le chargement complet de la page avant d'executer mon script?

Merci d'avance

# Re: remplir un menulist

Envoyé par : Christophe Charron

Date : 01/03/2007 12:20

Bonjour, regardez la fin de cette discussion la gestion d'un listener sur le builder du menu a résolu mon problème qui ressemble au vôtre.

# Re: remplir un menulist

Envoyé par : cokinou

Date : 02/03/2007 12:04

demanghonj a écrit:

Comment je peux faire pour attendre le chargement
complet de la page avant d'executer mon script?

Sinon, tu peux éxécuter ton script lors de l'affichage de ton menulist, comme ca tu es sur qu'il est chargé ;-)

Petit exemple si ca peux t'aider :

  <menulist>
     <menupopup onpopupshowing="fonctionQuiGenereLeMenulist();">
        .....
     </menupopup>
  </menulist>

# Re: remplir un menulist

Envoyé par : demanghonj

Date : 02/03/2007 13:40

le problème est que je dois selectionner un menuitem juste après avoir rempli ma liste.

# Re: remplir un menulist

Envoyé par : cokinou

Date : 02/03/2007 14:38

demanghonj a écrit:

le problème est que je dois selectionner un
menuitem juste après avoir rempli ma liste.

Il suffit que quand tu le génère tu mets le selectIndex du menulist à la valeur que tu souhaite sélectionner.

Exemple :

  • Fichier XUL:
  <menulist id="monMenulist">
     <menupopup onpopupshowing="genMenulist();">
       .....
     </menupopup>
  </menulist>
  • Fonction js
  function genMenulist() {
     var index = 0;
     // Creation des menuitem
     for(...) {
        ...
        if ([critere de selection du menuitem])
           document.getElementById('monMenulist').selectedIndex = index;
        index++;
     }
  }
  

Mais bon, vu que je ne sais ce que tu as à faire dans cette fonction, il faut voir si c'est facile à mettre en place ou non ;-)

# Re: remplir un menulist

Envoyé par : demanghonj

Date : 03/03/2007 03:25

le problème étant que la selection doit se faire avant même que l'utilisateur ne touche a la liste. donc je ne peut pas utiliser un evenement avant le déroulement de la liste

# Re: remplir un menulist

Envoyé par : Christophe Charron

Date : 03/03/2007 09:25

Donc, il me semble que ce que je préconisais en tout début est une meilleure piste : mettre un listener sur le builder.

Voir ici http://test03.christophe-charron.org/public/xul/2007_03_03/2007_03_03_menuilist_listener_00.xul un exemple simple avec une liste.

En espérant que cela aide

# Re: remplir un menulist

Envoyé par : cokinou

Date : 05/03/2007 09:43

demanghonj a écrit:

le problème étant que la selection doit se faire
avant même que l'utilisateur ne touche a la liste.
donc je ne peut pas utiliser un evenement avant le
déroulement de la liste

Effetivement, comme le dit Christophe, il vaut surement mieux dans ce cas utiliser un listener sur le builder de ton menulist.

Bonne réalisation ;-)

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.