Bonjour !
Bon j'avais déjà posé la question qui avait été résolu voilà ce qui marche :
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
 
function checkNomSite(idx){
    		if ( document.forms[0].elements["reponse"+idx].value == "Oui" ) document.forms[0].elements["sitePrelev"+idx].disabled = false;
        	else {
            document.forms[0].elements["sitePrelev"+idx].disabled = true;
            document.forms[0].elements["sitePrelev"+idx].value = "";
            }
}
<tr>  
    		<td>Actualiser le nom du Site :</td> 
    		<td>
            	<SELECT name="reponse<%=i%>" onchange="checkNomSite(<%=i%>)">
                <OPTION value=""  selected></OPTION>
                <OPTION value="Oui">Oui</OPTION>
                <OPTION value="Non">Non</OPTION>
            </SELECT></td>
 
			<td><input type="text" name="sitePrelev<%=i%>" value="" size="25" disabled/></td>     	
     	</tr>
Donc ceci marche trés bien mais maintenant je sollicite votre aide car j'aimerai passer deux arguments à ma fonction check.
Voilà ma version de départ:
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
25
26
27
28
 
function checkIndice(idx,lettre){
        if ( document.forms[0].elements[lettre+idx].value == "Autre" ) document.forms[0].elements["input"+lettre+idx].disabled = false;
        	else {
            document.forms[0].elements["input"+lettre+idx].disabled = true;
            document.forms[0].elements["input"+lettre+idx].value = "";
            }
        }
 
String[] listMicroOrg= { .... ellipse ...}
String[] listIndice= {"a","b","c","d"};
for (int j=0; j<listIndice.length; j++) {
    	int k=j+1; %>
    	<tr>  
    		<td>r&eacute;f&eacute;renc&eacute; sous indice <b><%= listIndice[j] %></b>:</td> 
    		<td>
            	<SELECT name="<%= listIndice[j] %><%=k%>"  onchange="checkIndice(<%=k%>,<%=listIndice[j]%>)">
                	<OPTION value=""  selected></OPTION>          
            		<%for (int i=0; i<listMicroOrg.length; i++) {%>
						<OPTION value="<%= listMicroOrg[i] %>"><%= listMicroOrg[i] %></OPTION>				
					<%}%>
					 <OPTION value="Autre">Autre</OPTION>			
            	</SELECT></td>            
     	</tr>
 
     	<tr>
     		<td><input type="text" name="input<%= listIndice[j] %><%=k%>" value="" size="25" disabled/></td>
     	</tr>
Il est clair que ca ne sert à rien de faire quatres fonctions différentes (car 4 lettre a, b, c, d) qui ne changeraient que d'une lettre !
comme je l'avais fait au départ pour voir si ma démarche était bonne exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
 function checkIndiced(idx){
        if ( document.forms[0].elements["d"+idx].value == "Autre" ) document.forms[0].elements["inputd"+idx].disabled = false;
        	else {
            document.forms[0].elements["inputd"+idx].disabled = true;
            document.forms[0].elements["inputd"+idx].value = "";
            }
        }
Donc ca ne marche pas : je me suis dis que c'était peut le concat du nom du champ. J'ai explicitement concaténé:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
function checkIndice(idx,lettre){
 var nomchamp = lettre.concat(idx);
        if ( document.forms[0].elements[nomchamp].value == "Autre" ) document.forms[0].elements["input"+nomchamp].disabled = false;
        	else {
            document.forms[0].elements["input"+nomchamp].disabled = true;
            document.forms[0].elements["input"+nomchamp].value = "";
            }
        }
mais ca ne marche toujours pas. Auriez vous une idée s'il vous plait ?
Merci d'avance !