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?
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?
tu peux soit implémenter Ajax4JSF (a4j) ou en utilisant une UEL et un peu de javascript
Merci,mais est ce que vous pouvez me donner le syntax preci ou bien un lien qui peut m'aider?
Pour ce qui est d'ajax4JSF voici un lien intéressant ici
Une façon de faire en Javascript :
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")...
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);" .../> ...
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
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>
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 :
ensuite, dans le Javascript :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <h:selectOneMenu id="xxx" onchange="testeValeur(this);" ...>
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
Merci,romaintaz,mais j'ai une autre question : Output Text ne peut pas etre disabled?
Est ce que de la meme façon on ajoute dans javascript :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <h:outputText id="chVRF" value="VRF :" disabled="true" />
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.getElementById("myForm:chVRF").disabled = false;
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
Ok,merci,romaintaz,ça marche pour SelectONeMenu et donc on n'a pas besoin donc de désactiver Output text.
sinon tu peux mettre le tout dans un h:panelGroup et utiliser le rendered ou en javascript:
et pour le cacher
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.getElementById("myForm:groupSelect").style.display = block;
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.getElementById("myForm:chVRF").style.display = none;
Articles: Richfaces - JBosstools pour JSF.
Partager