Bonjour à tous, j'ai un petit problème avec des champs select et l' évenement onChange sous internet explorer .
J' ai trois champs qui lient les régions de france à leurs départements puis aux villes ... et qui affiche les membres du site selon ces derniers critères
Sous firefox, pas de problemes, mais avec ie, le tri des membres se fait bien quand on change de région, les champs département et villes changent bien de contenu, mais deviennent vides et n'insert donc pas les départements associés .
Les codes :
html :
javascript pour region() (qui est censé remplir le select departement :
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 <?php function rech() { include 'librairie/php/connect.php'; $regions=mysql_query("SELECT * FROM region"); ?> <select name="region" id="region" onchange="recherche_region();region();"><option value="">Région</option> <?php while ($reg=mysql_fetch_assoc($regions)) { ?> <option value="<?php echo $reg['id']; ?>"><?php echo $reg['region']; ?></option> <?php } ?> </select> <select name="departement" id="departement" onchange="recherche_departement();dept();"><option value="">Département</option></select> <select name="ville" id="ville" onchange="recherche_ville();"><option value="">Ville</option></select> <?php } ?>
et le php :
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 function region() { var xhr = getxhr(); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { document.getElementById("departement").innerHTML=xhr.responseText; document.getElementById("ville").innerHTML="<option value=''>Ville</option>"; } }; var requete="region="+document.getElementById("region").value; xhr.open("POST", "composants/recherche/region.php?getTime()", true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send(requete); }
Voila, sinon, la fonction departement() est assez similaire a region() donc je ne l'ai pas mise, aucun interêt .
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 <?php mysql_connect('mysql...','blabla','12546'); mysql_select_db('bdd'); if (isset($_POST['region'])) { $reg=$_POST['region']; $departement=mysql_query("SELECT * FROM departement WHERE id_region='$reg' ORDER BY numero"); while ($dep=mysql_fetch_assoc($departement)) { echo '<option value="'.$dep['id'].'">'.$dep['numero'].' - '.htmlentities($dep['departement']).'</option>'; } } ?>
Voila, pour constater, rdv sur http://www.escortmove.com/index.php?session=majeur ou est chargé le code en question
Merci milles fois par avance pour vos réponses précieuses .![]()
Partager