Salut @ tous !
Dans le répertoire txt/ du serveur j'ai plusieurs fichiers contenant une liste de villes :
01 - Ain.txt
Bourg-en-Bresse
Oyonnax
Ambérieu-en-Bugey
Bellegarde-sur-Valserine
Miribel
Belley
.....
02 - Aisne.txt
Saint-Quentin
Soissons
Laon
Tergnier
.....
Ce script mets à jour grâce à du JS la liste des villes par rapport au département sélectionné :
Tout fonctionne bien sous FF mais sous IE et netscape rien ne ce passe (le message d'alerte ne s'affiche pas !), sous Opéra le message d'alerte s'affiche.
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
64
65
66
67
68
69
70
71
72
73
74
75 <script type="text/javascript"> function mise_a_jour_liste_noms_villes(fichier_noms_villes) { if(fichier_noms_villes != "0") // Si un département à été choisi alors ... { // ************************************************************** // Récupération du noms des villes dans le fichier du département // ************************************************************** var xhr_object = null; if(window.XMLHttpRequest) // Firefox { xhr_object = new XMLHttpRequest(); } else if(window.ActiveXObject) // Internet Explorer { xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); } else // XMLHttpRequest non supporté par le navigateur { alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); return; } xhr_object.open("GET", "txt/"+fichier_noms_villes+".txt", true); xhr_object.onreadystatechange = function() { if(xhr_object.readyState == 4) { // Récupération des noms des villes dans le fichier texte // ------------------------------------------------------ var liste_noms_villes = xhr_object.responseText; // Création du tableau contenant le noms des villes // ------------------------------------------------ tableau_noms_villes = liste_noms_villes.split('\n'); // Mise à jour de la liste des noms de villes // ------------------------------------------ nom_formulaire.choix_ville.options.length = tableau_noms_villes.length; for($i=0; $i<tableau_noms_villes.length; $i++) { nom_formulaire.choix_ville.options[$i].value = $i; nom_formulaire.choix_ville.options[$i].text = tableau_noms_villes[$i]; } } } xhr_object.send(null); } else // Sinon si aucun département n'a été choisi ... { nom_formulaire.choix_ville.options.length = 1; nom_formulaire.choix_ville.options[0].value = 0; nom_formulaire.choix_ville.options[0].text = " -- Choisissez une ville -- "; } } <form name="nom_formulaire"> <select name="choix_pays" onchange="mise_a_jour_liste_noms_villes(this.options[this.selectedIndex].value);"> <option value="0">-- Choisissez un département --</option> <option value="01 - Ain">01 - Ain</option> <option value="02 - Aisne">02 - Aisne</option> </select> <br /> <br /> <select name="choix_ville"> <option value="0"> -- Choisissez une ville -- </option> </select> </form>
Y a t il une solution au moins pour IE et netscape ?
Pour Opéra je laisse tomber ?
Merci...
Partager