Bonjour,
Je crée des lignes de manière dynamique grâce a un code javascript comme suit:
Mon problème est que la fonction "recup_fct(X)" doit manipuler les element de ma ligne après leurs création:
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 //Création du 1er element de ma ligne Td24= document.createElement('TD'); Td24.setAttribute('align','center'); element7 = document.createElement("select"); element7.setAttribute("name", "f_etude_"+compt_line); element7.onchange=function () { recup_fct(compt_line-1); }; option72=document.createElement('OPTION'); textNod72=document.createTextNode("Choisissez"); option72.appendChild(textNod72); option72.setAttribute("value",""); element7.appendChild(option72); for (var t=0;t<cptarrayEtude2D;t++) { option72=document.createElement('OPTION'); textNod71=document.createTextNode(arrayEtude2D[t]); option72.appendChild(textNod71); option72.setAttribute("value",arrayEtude2D[t]); element7.appendChild(option72); //Add option to Select } Td24.appendChild(element7); //Add Select to TD element7.appendChild(option72); //Add option to Select //Création du 2eme element de ma ligne : Td5= document.createElement('TD'); Td5.setAttribute('align','center'); element11 = document.createElement("input"); element11.setAttribute("type", "text"); element11.setAttribute("name", "f_entrepreneur_"+compt_line); element11.setAttribute("size", "15"); Td5.appendChild(element11); //Add Text to TD //Création du 3eme element de ma ligne : Td8= document.createElement('TD'); Td8.setAttribute('align','center'); element14 = document.createElement("input"); element14.setAttribute("type", "text"); element14.setAttribute("name", "f_stat_"+compt_line); element14.setAttribute("size", "15"); Td8.appendChild(element14); //Add Text to TD
Mon problème se situe dans les dernières lignes du code ci dessus, quand je tente d'inserer des valeurs dans les inputs "f_stat_"+i et "f_entrepreneur_"+i, mon code me declare que :
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
29
30
31
32
33
34 function recup_fct(i) { var etude_current = this.DataForm.elements['f_etude_'+i].options[this.DataForm.elements['f_etude_'+i].selectedIndex].value //var etude_current = document.DataForm.elements["f_etude_"+i].value; //cette ligne ne fonctionne pas var arrayEtude =new Array(); var arrayEntreprise =new Array(); var arrayStatus =new Array(); //assign values to thus arrays from the jsp to JS <%//-----------------Table of etudes 2D for(int t=0;t<compt_ligne_JS;t++){%> arrayEtude[<%=t%>]='<%=etude_tab_JS[t]%>';<%}%> <%//-----------------Table of Entrepreneur for(int t=0;t<compt_ligne_JS;t++){%> arrayEntreprise[<%=t%>]='<%=entrepreneur_tab_JS[t]%>';<%}%> <%//-----------------Table of status for(int t=0;t<compt_ligne_JS;t++){%> arrayStatus[<%=t%>]='<%=statut_tab_JS[t]%>';<%}%> //Nmbre de lignes recupérées var cptarray=<%=compt_ligne_JS%>; for (var j=0;j<cptarray;j++) { if(etude_current==arrayEtude[j]) var position = j; }; // affecter leurs valeurs au colonnes statut + entreprise element14.value=arrayStatus[position]; element11.value=arrayEntreprise[position]; /*document.DataForm.elements["f_stat_"+i].value=arrayStatus[position]; document.DataForm.elements["f_entrepreneur_"+i].value=arrayEntreprise[position]; */ }
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.DataForm.elements["f_stat_"+i].value
par exemple est null ou n'est pas un objet, je pense que cela est due au fait ces cases on été créées après la generation de la page, et donc ne figure pas dans la liste de ses element,
Code : Sélectionner tout - Visualiser dans une fenêtre à part this.DataForm.elements['f_etude_'+i].options[this.DataForm.elements['f_etude_'+i].selectedIndex].value
Alors comment pourrai je accéder a ces cases là ???
Partager