Bonjour à tous
Voila ce que j'essaye de faire : une liste de pays alimentée par une base de donnée. Une fois le pays choisit une liste de région de ce pays s'affiche. Cette liste est également alimentée par la base de donnée.
Certain pays n'ont pas de région la 2eme liste ne doit donc pas s'afficher. La page se trouve à cette adresse .
Sous IE tout se passe bien, mais sous Mozilla ça marche mal.
Voila le code de la partie ajax
La fonction javascript
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 if(isset($_POST["action"])){ if ($_POST["action"]=="inscription_famille") { if(isset($_POST["id_pays"])){ $SELECT="SELECT id_region, nom_region_key FROM region WHERE id_pays=".$_POST["id_pays"]; $sql_interpreteur_ajax->executer_requete($SELECT); $text=""; if ($sql_interpreteur_ajax->nombre_reponses()>0){ $text.="<select name='region' id='region' onChange='gestionDepartement();'>"; $text.='<option value="-1">'.texte_traduit('global_choisissez',true).'</option>'; while($data_ajax = $sql_interpreteur_ajax->fetch_array()) { $text.= "<option value='".$data_ajax["id_region"]."'>".getRegion($data_ajax["nom_region_key"],true)."</option>"; } $text.= "</select>"; }else { $text=""; } echo $text; } } }
Merci d'avance pour votre aide
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 function gestionRegion(){ var xhr = getXhr(); // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function(){ // On ne fait quelque chose que si on a tout reçu et que le serveur est ok if(xhr.readyState == 4 && xhr.status == 200){ leselect = xhr.responseText; // On se sert de innerHTML pour rajouter les options a la liste if (leselect.length>1){ document.getElementById('region').innerHTML = leselect; document.getElementById('intitule_region').innerHTML =" <?php texte_traduit("forms_label_region"); ?>" ; } else{ document.getElementById('intitule_region').innerHTML =""; document.getElementById('region').innerHTML = ""; } } } // Ici on va voir comment faire du post xhr.open("POST","ajax_utils/gestionRegion.php",true); // ne pas oublier ça pour le post xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // ne pas oublier de poster les arguments sel = document.getElementById('pays'); idpays = sel.options[sel.selectedIndex].value; xhr.send("id_pays="+idpays+"&action=inscription_famille"); }
Partager