Bonjour,
J'étais venu il y a peu de temps pour un problème en Ajax, et j'ai appris qu'il me fallait utiliser les DOM...
Maintenant, tout fonctionne à une exception près: un select à générer...
J'arrive à afficher le résultat de ma requête en générant le select avec des "createElement", tout s'affiche, mais pas moyen de récupérer les données... Me manquerait-il quelque chose ou bien j'ai juste merdé / oublié un truc?
Voici mon code:
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
52
53
54
55
56
57
58
59
60
61
62
63 function refreshTasks(elt) { if(elt.value!=0) { XmlHttp=getXmlHttpObject(); XmlHttp.onreadystatechange=stateChangedRefreshTasks; XmlHttp.open("GET","MesTachesListeT.php?dpt="+elt.value,true); XmlHttp.send(null); } } function stateChangedRefreshTasks() { if(XmlHttp.readyState==4) { vider("tasks"); document.getElementById("h").value=0; document.getElementById("h").disabled=true; document.getElementById("min").value=0; document.getElementById("min").disabled=true; // Récupération de la liste des tâches var reg = new RegExp('[|]+'); var reg2 = new RegExp('[:]+'); var resultats = XmlHttp.responseText.split(reg); // Construction du SELECT var sel = document.createElement('select'); sel.className = "smaller"; sel.name = "cxTask"; sel.id = "cxTask"; sel.onchange = function(event) {refreshVolDur(this);}; // Génération des OPTION for( var i = 0 ; i<resultats.length ; i++ ) { var option = document.createElement('option'); ssRes = resultats[i].split(reg2); option.value = ssRes[0]; option.text = ssRes[1]; sel.appendChild(option); } ajouter("tasks",sel); } } ... <?php echo ' <td align="center"> <select name="cxDep" id="cxDep" class="smaller" onChange=\'refreshTasks(this);\'> <option value="0" />'; $req=mysql_query("SELECT * FROM DEPARTEMENT;") or die("Récupération des départements: ".mysql_error()); while($res=mysql_fetch_array($req)) { echo ' <option value="'.$res["num_dep"].'">'.$res["nom_dep"].'</option>'; } echo ' </select> </td>'; ?>
Merci ^^
Partager