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 :

Remplit un input text à partir selectone menu


Sujet :

JSF Java

  1. #1
    Membre averti
    Inscrit en
    Août 2013
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 11
    Par défaut Remplit un input text à partir selectone menu
    slt
    comment remplir un input text avec un select one menu
    voici mon travail
    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
    <p:selectOneMenu value="#{personneBean.nom}" onchange="setRemarque(this)">
     
     
     
                        <f:selectItem itemLabel="Choisir ... " itemValue="" />
                       <f:selectItems value="#{personneBean.noms}"   var="pers" itemValue="#{pers.nom}" itemLabel="#{pers.nom}"/>
     
     
     
     
    				</p:selectOneMenu>
    <p:inputText name="prenomper"  id="prenomper" value=""     />
    <p:inputText id="ageper" name="ageper" value="" / >
    <script type="text/javascript">
    function setRemarque(select) {
     
     
       document.getElementById('prenomper').value ="#{pers.prenom}";
       document.getElementById('ageper').value = "#{pers.age}";
    }
    </script>
    ce code affiche des valeurs qui change pas.

  2. #2
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Par défaut
    Bonjour, le problème provient de ta fonction javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       document.getElementById('prenomper').value ="#{pers.prenom}";
    tu affecte statiquement (par rapport à la page HTML) une valeur à "prenomper",
    pour remédier à ça il faut que tu extraits la valeur de la même manière ( avec JS) de la liste d'option, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var indexOptions = document.getElementById('idHtmlDuSelectOneMenu') ;
    var valeurOption = indexOptions.options[select.selectedIndex].value ;
    document.getElementById('prenomper').value = valeurOption;
    Une autre solution est d'utiliser l'ajax:
    http://www.primefaces.org/showcase/u...yKeyEvents.jsf

    Aussi il faut éviter d'utiliser JSF avec les même réflexes que JSP( comme utiliser des EL expressions pour générer le code Javascript). JSF a une approche évènementielle puissante surtout quand elle est enrichie par un jeu de composante comme primefaces.

  3. #3
    Membre averti
    Inscrit en
    Août 2013
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 11
    Par défaut
    Citation Envoyé par david8787 Voir le message
    slt
    comment remplir un input text avec un select one menu
    voici mon travail
    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
    <p:selectOneMenu  id="select1"  value="#{personneBean.nom}" onchange="setRemarque(this)">
     
     
     
                        <f:selectItem itemLabel="Choisir ... " itemValue="" />
                       <f:selectItems value="#{personneBean.noms}"   var="pers" itemValue="#{pers.nom}" itemLabel="#{pers.nom}"/>
     
     
     
     
    				</p:selectOneMenu>
    <p:inputText name="prenomper"  id="prenomper" value=""     />
    <p:inputText id="ageper" name="ageper" value="" / >
    <script type="text/javascript">
    function setRemarque(select) {
    var indexOptions = document.getElementById('select1') ;
    var valeurOption = indexOptions.options[select.selectedIndex].value ;
    document.getElementById('prenomper').value = valeurOption;
     
    }
    </script>
    la liste reste bloque

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Par défaut
    faut consulter l'attribut valueChangeListener de jsf

  5. #5
    Membre averti
    Inscrit en
    Août 2013
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 11
    Par défaut
    Citation Envoyé par ahmedpa Voir le message
    faut consulter l'attribut valueChangeListener de jsf
    je suis debutant
    merci de me donner un petit exemple
    avec un select one menu qui contient le nom des personne
    un input text affiche le prenom de cette personne.

  6. #6
    Membre très actif Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Par défaut
    tu peux juste utiliser p:ajax


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <p:selectOneMenu value="#{personneBean.nom}" onchange="setRemarque(this)">
                      <f:selectItem itemLabel="Choisir ... " itemValue="" />
                       <f:selectItems value="#{personneBean.noms}"   var="pers" itemValue="#{pers.nom}" itemLabel="#{pers.nom}"/>
     <p:ajax update="prenomper"/>
     
    				</p:selectOneMenu>
    <p:inputText name="prenomper"  id="prenomper" value="#{personneBean.nom}"     />
    </p:selectOneMenu>

  7. #7
    Membre averti
    Inscrit en
    Août 2013
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 11
    Par défaut
    Citation Envoyé par bruneltouopi Voir le message
    tu peux juste utiliser p:ajax


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <p:selectOneMenu value="#{personneBean.nom}" onchange="setRemarque(this)">
                      <f:selectItem itemLabel="Choisir ... " itemValue="" />
                       <f:selectItems value="#{personneBean.noms}"   var="pers" itemValue="#{pers.nom}" itemLabel="#{pers.nom}"/>
     <p:ajax update="prenomper"/>
     
    				</p:selectOneMenu>
    <p:inputText name="prenomper"  id="prenomper" value="#{personneBean.nom}"     />
    </p:selectOneMenu>

    ca marche pas.

Discussions similaires

  1. input text selon select one menu
    Par aamiratou dans le forum JSF
    Réponses: 1
    Dernier message: 30/08/2013, 11h56
  2. Generer texte à partir de choix menu deroulant
    Par mattheoh dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/11/2006, 16h54
  3. Afficher un varchar complet dans un input text
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 25/06/2004, 12h17
  4. affichage de tabulations en mode texte à partir de XSL
    Par closo dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 24/02/2004, 16h36
  5. [FORMULAIRE] Récupération de input 'text'
    Par danael dans le forum Flash
    Réponses: 5
    Dernier message: 19/07/2003, 11h31

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