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 :

JSF champ saissisable en dependence d'autre champ


Sujet :

JSF Java

  1. #1
    Membre averti
    Inscrit en
    Août 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Août 2007
    Messages : 35
    Par défaut JSF champ saissisable en dependence d'autre champ
    Salut,

    J'ai un selectOneListbox avec 2 valeurs, 0 et 1, et un inputText.
    Comment est-ce-qu'on peut diriger que l'inputText devient saissisable seulement si la valeur choisie dans le selectOneListbox est 0?

    Merci pour votre aide,
    Cristine

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2003
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2003
    Messages : 64
    Par défaut
    Bonjour,

    Voila ce que je ferais (je suis pas un pro)

    JSP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <h:selectOneMenu id="menu1" value="#{managedBean.selectedValue}">
                <t:selectItems value="#{refundController.Values}" var="value"
    				itemLabel="#{value}" itemValue="#{value}" />
    </h:selectOneMenu>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <h:inputText disabled="#{managedBean.selectedValue}">
    ManagedBean
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private Boolean selectedValue;
    Enfin en gros

  3. #3
    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
    Le problème de cette solution, c'est qu'elle exige un aller-retour serveur (en Ajax ou non).
    Personnellement, je me ferais plutôt ça en Javascript:

    Code Javascript (c'est de l'approximatif, donc à corriger éventuellement) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function pouet(field) {
        var myInput = document.getElementById("myForm:myInput");
        var selected = field.selectedIndex;
        if (selected != -1) {
            myInput.disabled = (selected.options[selected].value != '1');
        } else {
            myInput.disabled = true;
        }
    }
    En JSP/JSF:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <h:form id="myForm">
        ...
        <h:selectOneMenu id="myList" onchange="pouet(this);" ...>
            ...
        </h:selectOneMenu>
        ...
        <h:inputText id="myInput" .../>
        ...
    Beaucoup plus simple...
    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

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2003
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2003
    Messages : 64
    Par défaut
    Petite digression sur le sujet, mais est-ce que vous êtes confronté aux problèmes d'accessibilité?
    Nous on nous demande un minimum d'accessibilité, donc javascript (et AJAX) a éviter.

  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
    Citation Envoyé par robbiano78 Voir le message
    Petite digression sur le sujet, mais est-ce que vous êtes confronté aux problèmes d'accessibilité?
    Nous on nous demande un minimum d'accessibilité, donc javascript (et AJAX) a éviter.
    Je ne comprend pas bien ton propos...
    Qu'entends tu par "problème d'accessibilité" ?

    Il est malheureusement des choses qu'il est difficile, voire parfois impossible à faire en se passant de Javascript (et / ou Ajax).
    Dans le cas présent, je ne vois pas trop comment, simplement et sans lourdeur pour l'utilisateur, on peut procéder...
    Une solution simple, mais lourde, serait de forcer l'utilisateur à envoyer son formulaire au serveur, qui alors, retournerait la nouvelle page, avec le input text modifiable ou non selon le choix de l'utilisateur dans la combobox... Mais c'est vraiment lourd je trouve.
    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é
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2003
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2003
    Messages : 64
    Par défaut
    Je parle des problèmes d'accessibilité au Web pour les personnes handicapées. Si je ne me trompe pas, les sites doivent pouvoir être utilisables avec le javascript désactivé. Mais bon c'est un autre sujet... Et effectivement, ta solution et plus légère

  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 robbiano78 Voir le message
    Nous on nous demande un minimum d'accessibilité, donc javascript (et AJAX) a éviter.
    Je réfléchissais à ce que tu as écrit. Sousentends-tu par accessibilité le fait de toucher un maximum de personnes, donc de navigateurs particuliers, et donc, de toucher également les personnes ayant désactivé le Javascript sur leur navigateur ?
    Si c'est bien cela, alors je comprends mieux ton interrogation. Cependant, je me demande si c'est raisonnable d'alourdir ton site, ou de l'alléger en fonctionnalités, tout cela pour prendre en compte un faible pourcentage des navigateurs ?

    Edit : D'après ta dernière réponse, c'est effectivement bien ce dont tu parlais
    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
    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 robbiano78 Voir le message
    Je parle des problèmes d'accessibilité au Web pour les personnes handicapées. Si je ne me trompe pas, les sites doivent pouvoir être utilisables avec le javascript désactivé.
    Il est vrai que l'on ne prend que trop rarement en considération l'utilisation de son site pour les personnes handicapées...
    Mon expérience en la matière est très limitée (j'avais un admin réseau à ma fac qui était non voyant, et heureusement, il arrivait à se débrouiller - fort bien d'ailleurs - grâce à un Linux, tout en mode texte et un clavier avec une lecture en braille). Cependant, je ne vois pas vraiment de contre-indication entre l'accessibilité et le Javascript, si ? Moi j'aurais plutôt vu des efforts à faire sur l'aspect visuel du site, la possibilité de le rendre visible avec des fontes très importantes, etc...
    Maintenant, c'est clair que ça dépend aussi pas mal de l'utilisation du JS que l'on en fait.
    Mais tout ceci est effectivement un autre débat !
    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

  9. #9
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2003
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2003
    Messages : 64
    Par défaut
    Je boss pour l'éducation nationale et on nous demande de rendre certains de nos sites accessibles...
    Voila un lien
    http://fr.wikipedia.org/wiki/Accessibilit%C3%A9_du_Web

    Une des règles est :
    réaliser un site web utilisable sans images ni style CSS ni JavaScript.

    Je clôture la dessus

    P.S : si tu as 5min jettes un oeil a mon autre problème avec le selectBooleanCheckbox

    Bonne journée

  10. #10
    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
    Merci pour ces précisions robbiano78.

    CristinaB, on attend de tes nouvelles pour savoir si le sujet est résolu
    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

  11. #11
    Membre averti
    Inscrit en
    Août 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Août 2007
    Messages : 35
    Par défaut
    Salut,

    Merci a tous pour vos idees.
    J'ai commence avec la propositiion de robbiano78, car c'etait plus proche de mon projet et j'ai finit par introduire une variable boolean isSelected (avec les getter et setter) dans mon Bean et une methode valueChanged (applellee par l'evenement du changement de la valeur), qui verifie la valeur selectee dans le selectOneListbox et ensuite met le isSelected a true ou false, selon le cas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:selectOneListbox id="id" valueChangeListener="#{myBean.valueChanged}" onChange="submit();" immediate="true" value="#{myBean.value}">
    Ensuite, pour l'inputText j'ai mis:

    disabled="#{myBean.isSelected}"

    Le code de la methode valueChanged:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public void valueChanged(ValueChangeEvent event) {
            HtmlSelectOneListbox element = (HtmlSelectOneListbox) event.getComponent();
            String label = (String) element.getValue();
            if ("valeur_pour_disabled".equals(label)) {
                setIsSelected(true);
            } else {
                setIsSelected(false);            
            }
        }
    voila,
    a propos, pour un changement de cas, si on veut mettre un selectOneListbox disabled selon la valeur introduite dans l'inputText, c'est facile a utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <a:support event="onkeyup" reRender="selectOneList,inputText"/>
    Merci beaucoup,
    Bonne chance.
    Cristine.

    Edit romaintaz:

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Remplir un champ à l'aide d'un autre champ
    Par raymonizuka dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 14/03/2008, 10h15
  2. [SQL] Utiliser un autre champ dans une table si le champ par défaut est vide
    Par Mawashigeri dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 16/01/2008, 13h31
  3. utiliser l'un ou l'autre champ en fonction d'un autre
    Par Romalafrite dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 11/05/2007, 15h37
  4. Réponses: 1
    Dernier message: 03/05/2007, 08h10
  5. [VBA] Remplir un champ en fonction d'un autre champ
    Par Amanck dans le forum Access
    Réponses: 6
    Dernier message: 18/05/2006, 10h12

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