IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Probleme du Onload avec JSF


Sujet :

JSF Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Probleme du Onload avec JSF
    Bonjour,

    Surement un problème classique mais je cherche sans trouver à résoudre mon problème.

    J'ai un JSP avec des TabSet et ses Tab. Dans un des Tab j'ai un ensemble de zones dont l'activation dépend de la sélection d'un DropDown (Zone Select). J'ai donc un petit script Javascript d'activation/désactivation des zones.

    Je cherche à déclencher ce script au chargement de la page, mon problème est que sur le OnLoad les zones ne sont pas encore présentes (les ID n'existent pas ) et donc le GetElementById me retourne un beau "document.getElementById('MonID') has no properties"). Le Script marche parfaitement après chargement de la page.


    Connaissez vous une solution propre à ce problème ?

    Merci pour votre aide.

  2. #2
    Membre confirmé Avatar de heid
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2002
    Messages : 388
    Points : 597
    Points
    597
    Par défaut
    Ne peux tu pas spécifier la première fois la valeur de sélection de ton select?
    Par exemple si tu as relié la "value" ton select sur "monbean.valselected" , tu peux, lors de l'appel à la liste de valeurs ex "monbean.gettoutlesvaldispo", vérifier si "valselected" est nul (donc pas relié, donc premier chargement) et lui mettre la première valeur de la liste. Ainsi, lorsque la page sera chargée, une valeur aura été assignée à ta liste.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Je me suis mal fait comprendre. Ma zone select est bien initialisée, le problèeme est que sur le OnChange de mon select je déclanche un script Javascript qui va activer/desactiver des zones en fonction de la sélection.

    Ce script marche très bien une fois la page chargée (cad que le fait de changer la sélection active/désactive correctement les zones). Je voudrais appeler également ce script dès la fin du chargement de la page pour que l'activation des zones corresponde bien à la valeur initiale du select.

    Hors si j'appel le script dans le OnLoad du Body, les eléments de mon tabset (que ce soit le fameux select ou les autres zones) ne semblent pas encore exister (leut ID est inconnu et en mettant un breakPoint ils ne sont pas encore dessiné à l'écran).

    J'ai toujours la possibilité de coder une deuxième fois ce code d'activation en utilisant les attributs ""rendered" de mes zones mais cela ne me semble pas très propre, l'idéal serait d'appeler ma fonction javascript plus tard mais quand ou comment

    Merci

  4. #4
    Membre confirmé Avatar de heid
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2002
    Messages : 388
    Points : 597
    Points
    597
    Par défaut
    LA solution (très) crade digne du daily WTF consisterait à ajouter un timer de 3-4 sec dans ton onload...

    Sinon tu ajaxises le tout et tu utilises la fonctionnalité rendered.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par heid Voir le message
    LA solution (très) crade digne du daily WTF consisterait à ajouter un timer de 3-4 sec dans ton onload...
    C'est celle que j'ai prise pour l'instant avec un timer à 500ms, mais comme tu le dis c'est pas terrible terrible

    Sinon tu ajaxises le tout et tu utilises la fonctionnalité rendered.
    C'est ce que je voulais éviter, faire un aller/retour juste pour cacher/montrer des zones c'est pas optimum, optimum.

    Pas d'autre solution alors ?

Discussions similaires

  1. Probleme d'Internationalisation avec JSF
    Par perezoso dans le forum JSF
    Réponses: 8
    Dernier message: 08/11/2010, 23h49
  2. probleme integration cewolf avec JSF
    Par riadhhwajdii dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 13/08/2009, 15h17
  3. probleme integration cewolf avec JSF
    Par riadhhwajdii dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 13/08/2009, 15h13
  4. probleme de CharDirector avec JSF
    Par rabebIF5 dans le forum JSF
    Réponses: 0
    Dernier message: 16/06/2009, 16h38
  5. Probleme de navigation avec JSF
    Par Evenmor dans le forum JSF
    Réponses: 7
    Dernier message: 16/01/2009, 18h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo