Bonjour,
j'ai ecrit un petit script ajax pour mettre afficher ou cacher des champs d'un formulaire en fonction du choix d'un select, et j'initialise la valeur de ce select a la valeur récupéré dans la bdd, mais l'affichage des champs de ne fait pas...
fichier principal:
l'ajax marche bien, l'affichage se fait bien si on passe d'une valeur a une autre dans le select, mais pas a l'initialisation....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <script language="JavaScript" src="modules/metro/combos.js" type="text/javascript"> </script> ... <select name="Ctrltype" id="Ctrltype" onChange="newmenuderoulant(this,'<?php echo $IdEquipCtrl; ?>')"> <option>--select--</option> <option value="Lab"<?php if ($rowcontrol[Ctrltype]=="Lab") {echo " selected";} ?>>Lab (Min-Max)</option> <option value="Maintenance"<?php if ($rowcontrol[Ctrltype]=="Maintenance") {echo " selected";} ?>>Maintenance (Δ)</option> </select> .... <td> <div id="combo2"></div> </td>
est-ce a cause de ca:
http.onreadystatechange = displaylist2; ??
voila l'ajax:
dans le fichier ajax.php je cree les champs que j'affiche dans le div id combo2 ...
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 function creerConnexion() { var connexion; connexion = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); return connexion; } var http = creerConnexion(); function newmenuderoulant(objselect,idctrl) { var Ctrltype =objselect.options[objselect.selectedIndex].valu e; //alert(Ctrltype); if (idctrl!=null) http.open('get', 'modules/metro/ajax.php?Ctrltype='+Ctrltype+'&am p;idctrl='+idctrl); else http.open('get', 'modules/metro/ajax.php?Ctrltype='+Ctrltype); http.onreadystatechange = displaylist2; http.send(null); } function displaylist2(){ if(http.readyState == 4){ var response = http.responseText; document.getElementById("combo2").innerHTML=resp onse; } else { /*alert('Etape '+http.readyState);*/ } }
merci pour vos idées et votre aide!
++
VooDoo
Partager