Bonjour,

Je suis débutant en jsf et je développe une petite application de test.

J'ai un formulaire avec 2 inputs mais le deuxième est pris en compte.

Voici mon code pour être plus clair.

Code HTML : 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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
		 <!-- Niveau 1 -->
		<br/>
		<b:panel title="Décision N1" look="primary">
			<h:form id="fnc_niveau_1">
		 	<h:panelGrid columns="4" cellpadding="5">
 
				<!-- Décision N1 --> 
				<h:outputLabel for="decision_n1">Décision  <span class="requis">*</span></h:outputLabel>
				<h:selectOneMenu id="decision_n1" value="#{detailFnc.d.idDecisionN1}" 
					required="true" requiredMessage=" Veuillez renseigner le champ Décision. ">
					<f:selectItem></f:selectItem>
					<f:selectItems value="#{detailFnc.listeDecisionN1}" var="c"	
					itemLabel="#{c.decisionN1}" itemValue="#{c.idDecisionN1}" />
						<f:ajax event="blur" render="decision_n1Message" />
						<f:ajax event="blur" render="Derogation" />				
				</h:selectOneMenu>
				<h:message id="decision_n1Message" for="decision_n1" errorClass="erreur"></h:message>
			</h:panelGrid>
 
 
			<!-- Si Dérogation -->
			<h:panelGrid id="Derogation" columns="4" cellpadding="5">
			<f:subview rendered="#{detailFnc.d.decisionN1=='Dérogation'}" id="Derogation1">
				<h:panelGrid columns="4" cellpadding="5">
					<!-- Quantité produite -->
					<h:outputLabel for="qte_produite">Quantité produite <span class="requis">*</span></h:outputLabel>
					<h:inputText id="qte_produite" value="#{detailFnc.fncRechercher.qteProduite}" >
						<f:ajax event="blur" render="qte_produiteMessage" />
					</h:inputText>
					<h:message id="qte_produiteMessage" for="qte_produite" errorClass="erreur" />
					<!-- Quantité à produire -->
					<h:outputLabel for="qte_a_produire">Quantité à produire <span class="requis">*</span></h:outputLabel>
					<h:inputText id="qte_a_produire" value="#{detailFnc.fncRechercher.qteAProduire}" >
						<f:ajax event="blur" render="qte_a_produireMessage" />
					</h:inputText>
					<h:message id="qte_a_produireMessage" for="qte_a_produire" errorClass="erreur" />
				</h:panelGrid>	
				<b:commandButton value="Suivant" look="success" action="#{detailFnc.decision_n1}"></b:commandButton>
			</f:subview>
			</h:panelGrid>
 
				<br/>
 
			</h:form>
		</b:panel>

J'ai essayé de voir voir en mode débogage, je me rend compte que seul le dernier input est pris en compte sur mon "backing bean". En gros seul la valeur de "qteAProduire" change.

Est ce que quelqu'un pourrai m'aider s'il vous en espérant avoir été clair?

ps: comme vous pouvez le voir j'utilise du ajax car la deuxième partie "si dérogation" s'affiche en fonction du premier menu déroulant.

Merci d'avance!