J'ai une page qui contient un formulaire de choix du pays, aprés ce choix je veux qu'un sélecteur de ville apparaisse, j'ai fait le nécessaire mais je ne sait pas pourquoi ça ne marche pas !!
le code de javascript est ceci, avec le framework prototype v1.7.1
le formulaire de choix de pays et de ville est :
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 <script type='text/javascript' src="prototype-1.7.1.js"></script> <script type="text/javascript"> <!-- function makerequest(idUpdater, idToUptdate) { elementHTML = document.getElementById(idToUpdate); var url = "ActionPage.php"; var cde = $F(idUpdater); o_options = new Object(); o_options = {method: 'get', parameters: 'code' + cde, onComplete: afficheReponse}; var laRequete = new Ajax.Request(elementHTML, url, o_options); } // function rapporteErreur(requete) { // alert('Désolé, une erreur s\'est produite.'); // } function afficheReponse(laRequete) { //affiche le XML dans le textarea $('City').innerHTML = laRequete.responseXML; } --> </script>
Code html : 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 <div id="selection"> <form action="" method="post" enctype="text/plain"> <select name="Country" size="1" id="Country" onchange="makerequest('Country', 'City')"> <option value="-1" >--Country--</option> <?php while($Champ=mysql_fetch_array($ResCountry)){?> <option value="<?php echo $Champ['Code']?>"><?php echo $Champ['Name']?></option> <?php } ?> </select> <div id="City"> </div> <input type="submit" name="send" value="send" /> </form> </div>
et la page de traitement de la requête est séparément de la page index et contient ce code :
Code php : 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 <?php require_once("connexionMysql.inc.php"); // header("Cache-Control: no-cache, must-revalidate"); // header("Pragma: no-cache"); // header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); $ReqCities="SELECT Name, CountryCode FROM cities WHERE CountryCode =".$_GET['Code'].""; $ResCities=mysql_query($ReqCities) or die (mysql_error()); echo "<select size=\"1\" name=\"City\" >"; while($Champ=mysql_fetch_array($ResCities)) { echo "<option value=\"".$Champ['CountryCode']."\">".$Champ['Name']."</option>"; } echo "</select>"; ?>
je pense que c'est le nécessaire à dérouler l'action en choisissant le pays
Partager