Bonjour,

Je poste un sujet car j'ai une interrogation concernant le javascript.

Je veux faire une fiche de mise à jour en jsp de données attributaires pour un objet graphique. Pour le moment, cette fiche de mise à jour fonctionne.

Pour les champs à mettre à jour avec des valeurs bloquées, j'ai une table de nomenclature qui me permet de lister des valeurs. Cette table contient deux champs: TYPE_NOMEN, VALEUR_NOM, VAL_DIVERS

TYPE_NOMEN me permet de récupérer les noms des communes en faisant une sélection des valeurs commune_nom. VALEUR_NOM comporte les noms des communes et VAL_DIVERS contient le code insee.

Dans mon code je fais une requête me permettant de récupérer une partie des valeur selon le champ TYPE_NOMEN et j'affiche les valeurs du champ VALEUR_NOM dans ma liste déroulante.

Ma question est la suivante: Au moment de mettre à jour les informations est-il possible d'afficher une valeur dans un Input par rapport à une valeur d'un menu déroulant?

Exemple: J'ai un champ ''Nom Commune'' pour lequel j'ai un menu déroulant, et un champ ''Code Insee''.

En choisissant dans mon menu déroulant une commune, j'aimerai que le code insee de la commune choisie s'affiche automatiquement. Et en validant la mise à jour les deux champs sont mise à jour.

Code java : 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
 
	Connection pConnection = ds.getConnection ();
		String strNOM_PROGRAMME = null;
		String strCOMMUNE = null;
	        String strDEPCOM = null;
 
 
 	//
	SimpleDateFormat dateFormater = new SimpleDateFormat("dd/MM/yyyy");
 
	if (strAction.equalsIgnoreCase ("UPDATE"))	
	{
		strNOM_PROGRAMME = request.getParameter ( "ENT_NOM_PROGRAMME" );  if (strNOM_PROGRAMME != null)	  strNOM_PROGRAMME = strNOM_PROGRAMME.trim();
		strCOMMUNE = request.getParameter ( "ENT_COMMUNE" );  if (strCOMMUNE != null)	  strCOMMUNE = strCOMMUNE.trim();
		strDEPCOM = request.getParameter ( "ENT_DEPCOM" );  if (strDEPCOM != null)	  strDEPCOM = strDEPCOM.trim();
 
 
	 try {  
	  Statement pStatementMaj = pConnection.createStatement();
	  StringBuffer sqlMaj = new StringBuffer();
	   sqlMaj.append ("UPDATE Foncier_prospect_hab_2026 SET NOM_PROGRAMME = q'[" + strNOM_PROGRAMME + 
									"]', COMMUNE = q'[" + strCOMMUNE + 
									"]', DEPCOM = q'[" + strDEPCOM + 
									"]' WHERE objectid = " + strKeyFieldValue);
	  pStatementMaj.executeUpdate (sqlMaj.toString());
	  pStatementMaj.close();
	  } catch (Exception e) {
	 }
	}
	//
	//
	Statement pStatement = pConnection.createStatement();
	StringBuffer sql = new StringBuffer();
	//
	String strWhereClause = "OBJECTID = " + strKeyFieldValue;
	sql.append ("SELECT * FROM Foncier_prospect_hab_2026 WHERE " + strWhereClause);
	//
	ResultSet pResultSet = pStatement.executeQuery (sql.toString());
	if (pResultSet.next())
	{
	   strNOM_PROGRAMME = pResultSet.getString ("NOM_PROGRAMME");
	   strCOMMUNE  = pResultSet.getString ("COMMUNE");
	   strDEPCOM  = pResultSet.getString ("DEPCOM");
  }	
 
 
 if (strNOM_PROGRAMME != null)
         strNOM_PROGRAMME = strNOM_PROGRAMME.trim();
 
         strCOMMUNE = strCOMMUNE.trim();
		  if (strZONAGE != null)
         strDEPCOM = strDEPCOM.trim();
		  if (strEST_LOGT != null)
 
 
 
			//Liste de valeurs
 
	Statement pStatement3 = pConnection.createStatement();
	StringBuffer sql3 = new StringBuffer();
 
	sql3.append("SELECT VALEUR_NOM, VAL_DIVERS FROM NOMENCLATURE_CAMY WHERE TYPE_NOMEN = 'commune_nom' OR TYPE_NOMEN = 'vide' ORDER BY VALEUR_NOM ASC");
	ResultSet pResultSet3 = pStatement3.executeQuery(sql3.toString());
 
	String strCOMMUNE_LISTE = null;
 
	ArrayList vCOMMUNE = new ArrayList();
 
	while (pResultSet3.next())
	{
		strCOMMUNE_LISTE = pResultSet3.getString("VALEUR_NOM"); 
		if (strCOMMUNE_LISTE != null && !strCOMMUNE_LISTE.equals(""))
		{
			if(!strCOMMUNE_LISTE.equals(strCOMMUNE))
		  	vCOMMUNE.add ("<option value=\"" + strCOMMUNE_LISTE + "\">" + strCOMMUNE_LISTE + "</option>");
			else
		  	vCOMMUNE.add ("<option value=\"" + strCOMMUNE_LISTE + "\" selected>" + strCOMMUNE_LISTE + "</option>"); 
		}
	}
 
 
	pResultSet3.close();
	pStatement3.close();
 
 
 
	pResultSet.close();
	pStatement.close();
	pConnection.close();
 
%>

Pour afficher mes données j'ai un tableau :
Code jsp : 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
	<tr>
				<td class="headerProspect2026">
					Commune :
				</td>
				<td class="valueProspect2026">
					<%
                                out.println ("<select sizze=\"1\" name=\"ENT_COMMUNE\" style=\"width:100%\">");
                                for (int i = 0; i < vCOMMUNE.size(); ++i)
                                {
                                        out.println ((String) vCOMMUNE.get(i));
                                }
                                out.println("<select>");
                                %>
				</td>
			</tr>
 
	<tr>
				<td class="headerProspect2026">
					Code INSEE :
				</td>
				<td class="valueCellvacant">
				 <%  strDEPCOM = StringHelper.replaceNull (strDEPCOM, "");
               strDEPCOM = StringHelper.replaceSpecialChar (strDEPCOM);
              %>
			   <input name="ENT_DEPCOM" type="text" value="<%=strDEPCOM%>" style={width:100%}>
				</td>
			</tr>



J'ai épuré le code pour afficher juste trois champs, en espérant ne pas avoir retiré un truc en trop. ça n'est pas trop grave pour mon exemple vu que ma fiche marche bien pour le moment.

Je vous remercie pour vos réponses.

Si vous avez une solution, pourriez vous me dire où mettre le bout de code car je n'y connait rien de rien de rien...... Et je n'ai pas trouvé comment mettre les couleurs au code sur le forum. (premier post avec du code).