Bonjour,
Sur une page à partir de laquelle je souhaite affecter des éléments d'inventaire à des personnes, j'essaye de récupérer la valeur d'un élément select chargé dynamiquement par innerHTML.
J'indexe les éléments de ma liste avec un incrément idx afin de pouvoir traiter la bonne ligne et je génère mon code en cliquant sur un icone (worker.png) avant de le passer dans l'innerHTML.
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 function ChargeNomUser (IdExistant,Rang) { var sqlString = "SELECT Utilisateurs.IDUtilisateur, Utilisateurs.Utilisateur FROM Utilisateurs WHERE (((Utilisateurs.[Actif])=True)) ORDER BY Utilisateurs.Utilisateur;"; var rs=new ActiveXObject("ADODB.Recordset"); try { rs.Open (sqlString , conn, adOpenStatic, adLockUnspecified); } catch(e) { alert (sqlString); alert (e.description); rs = null; return ""; } var Resultat = "<select onchange=\"SetNouveauUser(" + Rang + ")\"><option value='0'"; if ((IdExistant == null) || (IdExistant == 0)) { Resultat += " SELECTED " } Resultat += "></option>"; while (!rs.eof) { Resultat += "<option value='" + rs.fields(0).Value + "'"; if (IdExistant == rs.fields(0).Value) { Resultat += " SELECTED "; } Resultat += ">" + rs.fields(1).Value + "</option>"; rs.movenext; } Resultat += "</select>"; rs.close; rs = null; return Resultat; } function ChangeUser (UserID,Rang) { var NouvelleChaine = ChargeNomUser (UserID,Rang); document.getElementById('IdUser' + Rang).innerHTML = NouvelleChaine; } ... { chaine = "<tr><td align=left;>" + rs.fields(0).Value + "</td>"; chaine += "<td align=center><img id=\"ClickUser" + idx +"\" style=\"width: 20px; height: 20px;\" src=\"../images/worker.png\""; chaine += "onclick=\"javascript:ChangeUser(" + rs.fields(5).Value + "," + idx + ")\"></td>"; chaine += "<td id=\"IdUser" + idx + "\">" + rs.fields(1).Value + "</td>";
Tout fonctionne bien ... sauf que je n'arrive pas à récupérer la valeur du select ajouté dynamique quand je l'utilise.
J'ai vu différents post sur le web sur le sujet mais tous très anciens, indiquant des difficultés de cette méthode.
J'utilise IE8 et je devéloppe de l'hta.
Y a t'il quelque chose que je fais mal ou y aurait-il un moyen plus simple de faire ce que j'essayer de faire ?
D'avance merci
M.
Partager