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 :

Problème appel javascript dans mon xthml


Sujet :

JSF Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Problème appel javascript dans mon xthml
    Bonjour,

    J'ai un soucis.

    J'ai un bouton... je clique dessus...et j'aimerais alors qu'il ne soit plus affiché et qu'un autre lui au contraire s'affiche.

    Rien a faire.... mon javascript n'a aucune influence.

    La fonction 'enCours()' n'a aucune influence.
    La fonction 'finish()' oui ! mais trop compliqué à gérer car j'ai des variables stockées dans mon bean et ça met la grouille

    Une idée ? merci de l'aide


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    <script type="text/javascript">
     
    			    function enCours(){
     
    			    	document.getElementById('form:validerButton').setAttribute("rendered", false);
    			    	document.getElementById('form:enCoursButton').setAttribute("rendered", true)';
    			    }
     
    				function finish(){
     
    			    	document.getElementById('form:validerButton').style.visibility='visible';
    			    	document.getElementById('form:enCoursButton').style.visibility='hidden';
    			    }
     
    			</script>
     
     
    <p:commandButton ajax="true" id="validerButton" rendered="#{!importManager.enCours}" process="@form" onclick="enCours()"  oncomplete="finish()" value="Créer la journée Stan Site" 
    					update=":messages :form :form:test"  actionListener="#{journeeStanSiteBean.onCreer}" />
     
    <p:commandButton id="enCoursButton"   style="visibility:hidden;" disabled="true"  value="En cours..."/>

  2. #2
    Membre habitué Avatar de ziad.shady
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 212
    Points : 139
    Points
    139
    Par défaut
    C'est normal que ça ne marchera pas. La grappe de tes composants JSF est construite côté serveur. Par exemple tu ne peux pas faire apparaître en javascript ton bouton de commande qui a été caché (rendred = false) côté serveur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p:commandButton ajax="true" id="validerButton" rendered="#{!importManager.enCours}" process="@form"  value="Créer la journée Stan Site"  update=":messages :form :form:test"  actionListener="#{journeeStanSiteBean.onCreer}" />
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p:commandButton id="enCoursButton" disabled="true"  value="En cours..." rendered="#{importManager.enCours}"/>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void onCreer {
       // Ton code
       enCours = true;
    }

  3. #3
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Effectivement si tu met l'attribut rendered="false", le composant n'est même pas générer du coté du client, donc aucune chance de pouvoir jouer sur sa visibilité il n'existe pas.

    Par contre tu peux mettre rendered="true" et simplement cacher le composant. Comme ça tu peux utiliser du JS pour le faire apparaitre/disparaitre à volonté.

    Sinon tu dois ton code comme le suggère @ziad.shady avec rendered="#{!importManager.enCours}" et modifier la valeur #{importManager.enCours} dans un bean et ensuite rafraichir le composant parent via un PartialTarget() pour qu'il réévalue l'expression rendered="#{!importManager.enCours}" du bouton en question et ainsi le rendre disponible le cas échéant.

    Petite précision, le code document.getElementById('form:validerButton').setAttribute("rendered", false); ne risque pas de fonctionner non plus car l'attribut rendered est un attribut coté serveur. Il n'existe donc pas coté client.

    Cdt.

  4. #4
    Candidat au Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Merci de votre aide....

    Je garde sous le coude vos remarques...
    Je bosse sur un autre projet en ce moment....
    Des que je re bascule sur l'ancien j'applique vos conseils !!

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/07/2009, 10h57
  2. Réponses: 4
    Dernier message: 30/05/2007, 18h05
  3. [ Cross Window ] Pop up appel javascript dans opener
    Par Warz dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/05/2006, 14h13
  4. Problème de paramètres dans mon code javascript
    Par cocacollection dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 15/03/2006, 10h53
  5. [PHP-JS] Comment insérer du javascript dans mon php
    Par tioseb dans le forum Langage
    Réponses: 1
    Dernier message: 16/02/2006, 17h04

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