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 :

Champ de texte desactivé avec JSF


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 58
    Par défaut Champ de texte desactivé avec JSF
    Je suis débutante avec JSF,je veux savoir comment ajouter un champ de texte (ch1)désactivé et aprés la saisie d'un autre champ(ch2), ,ch1 sera activé ou non selon la valeur saisie dans ch2.
    Est ce que vous pouvez m'aider?

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 152
    Par défaut
    tu peux soit implémenter Ajax4JSF (a4j) ou en utilisant une UEL et un peu de javascript

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 58
    Par défaut
    Merci,mais est ce que vous pouvez me donner le syntax preci ou bien un lien qui peut m'aider?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 426
    Par défaut
    Pour ce qui est d'ajax4JSF voici un lien intéressant ici

  5. #5
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Une façon de faire en Javascript :


    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
    <script type="text/javascript">
        function testeValeur(valeur) {
            if (valeur == "valeur voulue") {
                // La valeur de ch2 est celle attendue, on désactive donc ch1.
                document.getElementById("myForm:ch1").disabled = false;
            } else {
                // La valeur de ch2 n'est pas celle attendue, on désactive donc ch1.
                 document.getElementById("myForm:ch1").disabled = true;
             }
        }
     
        // La même fonction, mais avec une écriture simplifiée.
        function testeValeurSimplifiee(valeur) {
            document.getElementById("myForm:ch1").disabled = (valeur == "valeur voulue");
         }
    </script>
     
    <h:form id="myForm">
        <h:inputText id="ch1" disabled="true" .../>
        <h:inputText id="ch2" onchange="testeValeur(this.value);" .../>
        ...
    Attention, l'ID d'un champ inputText est préfixée par l'ID du formulaire qui le contient. D'où le getElementById("myForm:ch1")...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 58
    Par défaut
    Merci beaucoup romaintaz,j'ai exécuté ce code avec un champ de texte mais pour SelectOneMenu ça ne marche pas
    Voici mon code:
    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
    23
    24
     
    <script type="text/javascript">
        function testeValeur(valeur) {
            if (valeur == "MPLS") {
     
                document.getElementById("myForm:vrf").disabled = false;
            } else {
     
                 document.getElementById("myForm:vrf").disabled = true;
             }
        }
     </script>
    <h:form id="myForm">
    <h:selectOneMenu id="som3" value="TableBean.perInfoAll" title="select any one in this menu" onchange="testeValeur(this.itemLabel);">
     
      <f:selectItem id="e1" itemLabel="Principal" itemValue="11"/>
      <f:selectItem id="e2" itemLabel="Peripherique" itemValue="22"/>
      <f:selectItem id="e3" itemLabel="MPLS" itemValue="33" />
     
     
     
    </h:selectOneMenu>
    <h:outputText value="VRF : disabled="true" />
    <h:inputText  id="vrf" disabled="true"></h:inputText>

  7. #7
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Citation Envoyé par rabebIF5 Voir le message
    Merci beaucoup romaintaz,j'ai exécuté ce code avec un champ de texte mais pour SelectOneMenu ça ne marche pas
    Ah ouais mais non ! On ne récupère pas la valeur d'un inputText de la même façon que celle d'un select !
    Tout d'abord, modifie l'appel à la fonction testeValeur pour donner en paramètre l'objet et non plus sa valeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:selectOneMenu id="xxx" onchange="testeValeur(this);" ...>
    ensuite, dans le Javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function testeValeur(field) {
        if (field.options[field.selectedIndex].value == "xxx") {
            ...
        }
    }
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  8. #8
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 58
    Par défaut
    Merci,romaintaz,mais j'ai une autre question : Output Text ne peut pas etre disabled?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:outputText id="chVRF" value="VRF :" disabled="true"  />
    Est ce que de la meme façon on ajoute dans javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     document.getElementById("myForm:chVRF").disabled = false;
    Merci d'avance

  9. #9
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Non, et pour cause : un outputText, ce n'est que du texte ! Cela n'a donc pas de sens qu'il soit activé ou désactivé...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  10. #10
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 58
    Par défaut
    Ok,merci,romaintaz,ça marche pour SelectONeMenu et donc on n'a pas besoin donc de désactiver Output text.

  11. #11
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    sinon tu peux mettre le tout dans un h:panelGroup et utiliser le rendered ou en javascript:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("myForm:groupSelect").style.display = block;
    et pour le cacher

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("myForm:chVRF").style.display = none;

Discussions similaires

  1. faire un champ d'upload simple avec JSF richfaces
    Par maxence. dans le forum JSF
    Réponses: 0
    Dernier message: 13/09/2010, 18h34
  2. texte riche avec jsf 2, facelets
    Par ymajoros dans le forum JSF
    Réponses: 1
    Dernier message: 22/01/2010, 10h43
  3. control d'un champ de text avec java
    Par dalio2579 dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 27/04/2006, 12h02
  4. Remplir 3 champs textes différents avec une liste déroulante
    Par azorol dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/12/2005, 00h04
  5. action reaction avec champs type="text"
    Par ericmart dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 13/04/2005, 17h00

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