Se connecter / S'enregistrer

Résolu Ajouter 4eme niveau de liste liee

Solutions (29)
Tags :
  • Programmation
|
Bonjour à tous

j'ai ajouter dans mon formulaire la liste liée de ce lien http://blog.gmsiweb.fr/2009/10/listes-liees-en-ajax/
et je veux ajouter le 4eme niveau appelé communes. j'ai essayer mais ça pas marcher.
Si c'est necessaire de donner les fichiers dont l'essai du travail du 4eme niveau me demander. j'espere que c'est clair.
je suis à l'attente d'aides car j'ai besoin d'elle.
Merci d'avance
Contenus similaires
Meilleure solution
partage
, Modérateur |
Tu as bien une colonne quartier_cp dans ta table quartier ??!!
  • Commenter cette solution |
Score
0
òh
òi
|
Meilleure réponse sélectionnée par sasa_32.
  • Commenter cette réponse |
Score
0
òh
òi
|
Oui, vous avez raison, c'est moi que j'ai ecris quartier_cp, vraiment j'ai completement perdu le focus

Merci bien pour l'aide
  • Commenter cette réponse |
Score
0
òh
òi
|
Voila

  1. /**
  2. * Méthode qui retourne la liste des ville pour une region
  3. *
  4. * @param int $id
  5. * @return array
  6. */
  7. public function getVilleByRegion($id)
  8. {
  9.  
  10. }
  11.  
  12. /**
  13. * Méthode qui retounre la liste des ville d'un département
  14. *
  15. * @param int $id
  16. * @return array
  17. */
  18. public function getVilleByDpt($id)
  19. {
  20. $prepare = $this->prepare("SELECT ville_id, ville_name, ville_cp
  21. FROM ville
  22. WHERE dpt_id = $id");
  23. $prepare->execute();
  24. $villes = $prepare->fetchAll();
  25.  
  26. return $villes;
  27. }
  28.  
  29.  
  30. /**
  31. * Méthode qui retourne la liste des quartiers pour un département
  32. *
  33. * @param int $id
  34. * @return array
  35. */
  36. public function getQuartierByRegion($id)
  37. {
  38.  
  39. }
  40.  
  41. public function getQuartierByDpt($id)
  42. {
  43.  
  44. }
  45.  
  46. /**
  47. * Méthode qui retounre la liste des quartier d'une ville
  48. *
  49. * @param int $id
  50. * @return array
  51. */
  52. public function getQuartierByVille($id)
  53. {
  54. $prepare = $this->prepare("SELECT quartier_id, quartier_name, quartier_cp
  55. FROM quartier
  56. WHERE ville_id = $id");
  57. $prepare->execute();
  58. $quartiers = $prepare->fetchAll();
  59.  
  60. return $quartiers;
  61. }
  62. }
  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
Non, je parle de la fonction getQuartierByVille qui est contenue dans ton fichier class.france.php
  • Commenter cette réponse |
Score
0
òh
òi
|
Voila les fonctions

//Retourne la liste des villes d'un département
function getVille(){
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
document.getElementById('champsVille').innerHTML = leselect;
}
}

// Ici on va voir comment faire du post
xhr.open("POST","ajax.ville.php",true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
sel = document.getElementById('dpt');
idDpt = sel.options[sel.selectedIndex].value;
xhr.send("idDpt="+idDpt);
}

//Retourne la liste des quartiers d'une ville
function getQuartier(){
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
document.getElementById('champsQuartier').innerHTML = leselect;
}
}

// Ici on va voir comment faire du post
xhr.open("POST","ajax.quartier.php",true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
sel = document.getElementById('ville');
idVille = sel.options[sel.selectedIndex].value;
xhr.send("idVille="+idVille);

}
  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
Oui, mais ça veut rien dire ça. C'est peut être ta fonction getQuartierByVille qui est mal foutue.
  • Commenter cette réponse |
Score
0
òh
òi
|
biensur après insert into on ville qui est le nom de la table
  • Commenter cette réponse |
Score
0
òh
òi
|
voila pour quartier INSERT INTO `quartier` (`quartier_id`, `ville_id`, `quartier_name`) VALUES
(1,21666, 'tunisie');
et voila pour ville INSERT INTO (`ville_id`, `dpt_id`, `ville_name`, `ville_cp`, `ville_lat`, `ville_lon`) VALUES

(21666, 75, 'Amillis', '77120', '48.7398882', '3.1290727')

voila les requete d'insertion mais le 4eme niveau ne s'affiche pas lorsque je selectionne Amillis comme ville le champ quartier est vide.
je veux savoir pourquoi ce resultat et comment je peux corriger le probleme.

Merci d'avance
  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
Déjà, le fait qu'il te mette un <select> vide veut dire que le javascript est bien configuré.
Maintenant, ça veut aussi dire que la page PHP ne retourne qu'un select vide, et que donc, il n'y a pas d'éléments retournés par ta fonction.
Donc vérifie ta fonction, que si tu lui donnes un ID de ville correct, ça te retourne bien les quartiers disponibles.
  • Commenter cette réponse |
Score
0
òh
òi
|
Bonjour

Je veux dire merci pour tout qui m'aide encore autre fois. pouver-il quelqu'un me dire que l'erreur peut etre dû à quoi, car j'ai pas pu connaitre l'erreur et je sais que firebug interprete les requete XHR et je prefere ne pas l''installer pour le moment car l'espace memoire libre dans mon ordinateur n'est pas beaucoup.

Merci pour tout ceux qui participe dans ce forum pour m'aider

  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
Bah là je ne vois plus d'erreurs.
Alors, il faut vérifier du côté de ta fonction getQuartierByVille pour vérifier qu'elle retourne bien ce qu'il faut. Mais je t'invite quand même à suivre le conseil d'Edyr, tu télécharges Firefox + Firebug si ce n'est pas déjà fait.
Tu ouvres l'onglet "Réseau" et tu fais tes tests, et tu auras tous les appels XHR qui sont fait, et tu pourras voir ce qui est envoyé et ce qui est retourné...
  • Commenter cette réponse |
Score
0
òh
òi
|
c'est vrai, c'est une faute. j'ai la corriger et le 4eme niveau est encore vide
  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
Alors c'est normal, il y a encore 2 fautes :
A la ligne 6 tu déclares la variable $villes qui va contenir les quartiers:
  1. $villes = $france->getQuartierByVille($_POST['idVille']);


Sauf qu'après (ligne 11) tu utilises une variable $quartiers qui n'existe pas du coup, vu qu'elle s'appelle $villes.
Et à la ligne 12, tu as oublié un s à $quartiers dans le option value.

Avec quelque chose dans ce genre ça devrait être mieux (double clic pour supprimer les numéros de ligne) :
  1. <?php
  2. require_once('liste/class/class.france.php');
  3.  
  4. $france = new france();
  5.  
  6. $quartiers = $france->getQuartierByVille($_POST['idVille']);
  7.  
  8. $listeQuartiers = '<label for="quartier">Quartier: </label>';
  9. $listeQuartiers .= '<select name="quartier">';
  10.  
  11. for($i=0;$i<count($quartiers);$i++) {
  12. $listeQuartiers .= '<option value="'.$quartiers[$i]['quartier_id'].'">'.$quartiers[$i]['quartier_name'].')</option>';
  13. }
  14.  
  15. $listeQuartiers .= '</select>';
  16.  
  17. echo mb_convert_encoding($listeQuartiers, "UTF-8", "ISO-8859-15");
  18. ?>
  • Commenter cette réponse |
Score
0
òh
òi
|
voila le fichier ajax.quartier.php

  1. <?php
  2. require_once('liste/class/class.france.php');
  3.  
  4. $france = new france();
  5.  
  6. $villes = $france->getQuartierByVille($_POST['idVille']);
  7.  
  8. $listeQuartiers = '<label for="quartier">Quartier: </label>';
  9. $listeQuartiers .= '<select name="quartier">';
  10.  
  11. for($i=0;$i<count($quartiers);$i++) {
  12. $listeQuartiers .= '<option value="'.$quartier[$i]['quartier_id'].'">'.$quartiers[$i]['quartier_name'].')</option>';
  13. }
  14.  
  15. $listeQuartiers .= '</select>';
  16.  
  17. echo mb_convert_encoding($listeQuartiers, "UTF-8", "ISO-8859-15");
  18. ?>
  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
Tu nous as donné ajax.ville.php au lieu de ajax.quartier.php
  • Commenter cette réponse |
Score
0
òh
òi
|
Bonjour,

fichier listeliee.js

  1. function getXhr(){
  2. var xhr = null;
  3. if(window.XMLHttpRequest) // Firefox et autres
  4. xhr = new XMLHttpRequest();
  5. else if(window.ActiveXObject){ // Internet Explorer
  6. try {
  7. xhr = new ActiveXObject("Msxml2.XMLHTTP");
  8. } catch (e) {
  9. xhr = new ActiveXObject("Microsoft.XMLHTTP");
  10. }
  11. }
  12. else { // XMLHttpRequest non supporté par le navigateur
  13. alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
  14. xhr = false;
  15. }
  16. return xhr;
  17. }
  18.  
  19. //Retourne la liste des départements d'une région
  20. function getDpt(){
  21. var xhr = getXhr();
  22. // On défini ce qu'on va faire quand on aura la réponse
  23. xhr.onreadystatechange = function(){
  24. // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
  25. if(xhr.readyState == 4 && xhr.status == 200){
  26. leselect = xhr.responseText;
  27. // On se sert de innerHTML pour rajouter les options a la liste
  28. document.getElementById('champsDpt').innerHTML = leselect;
  29. }
  30. }
  31.  
  32. // Ici on va voir comment faire du post
  33. xhr.open("POST","ajax.dpt.php",true);
  34. // ne pas oublier ça pour le post
  35. xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  36. sel = document.getElementById('region');
  37. idRegion = sel.options[sel.selectedIndex].value;
  38. xhr.send("idRegion="+idRegion);
  39. }
  40.  
  41. //Retourne la liste des villes d'un département
  42. function getVille(){
  43. var xhr = getXhr();
  44. // On défini ce qu'on va faire quand on aura la réponse
  45. xhr.onreadystatechange = function(){
  46. // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
  47. if(xhr.readyState == 4 && xhr.status == 200){
  48. leselect = xhr.responseText;
  49. // On se sert de innerHTML pour rajouter les options a la liste
  50. document.getElementById('champsVille').innerHTML = leselect;
  51. }
  52. }
  53.  
  54. // Ici on va voir comment faire du post
  55. xhr.open("POST","ajax.ville.php",true);
  56. // ne pas oublier ça pour le post
  57. xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  58. sel = document.getElementById('dpt');
  59. idDpt = sel.options[sel.selectedIndex].value;
  60. xhr.send("idDpt="+idDpt);
  61. }
  62.  
  63. //Retourne la liste des quartiers d'une ville
  64. function getQuartier(){
  65. var xhr = getXhr();
  66. // On défini ce qu'on va faire quand on aura la réponse
  67. xhr.onreadystatechange = function(){
  68. // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
  69. if(xhr.readyState == 4 && xhr.status == 200){
  70. leselect = xhr.responseText;
  71. // On se sert de innerHTML pour rajouter les options a la liste
  72. document.getElementById('champsQuartier').innerHTML = leselect;
  73. }
  74. }
  75.  
  76. // Ici on va voir comment faire du post
  77. xhr.open("POST","ajax.quartier.php",true);
  78. // ne pas oublier ça pour le post
  79. xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  80. sel = document.getElementById('ville');
  81. idVille = sel.options[sel.selectedIndex].value;
  82. xhr.send("idVille="+idVille);
  83.  
  84. }


fichier ajax.ville.php

  1. <?php
  2. require_once('liste/class/class.france.php');
  3.  
  4. $france = new france();
  5.  
  6. $villes = $france->getVilleByDpt($_POST['idDpt']);
  7.  
  8. $listeVilles = '<label for="ville">Ville: </label>';
  9. $listeVilles .= '<select name="ville" id="ville" onchange="getQuartier();">';
  10.  
  11. for($i=0;$i<count($villes);$i++) {
  12. $listeVilles .= '<option value="'.$villes[$i]['ville_id'].'">'.$villes[$i]['ville_name'].'('.$villes[$i]['ville_cp'].')</option>';
  13. }
  14.  
  15. $listeVilles .= '</select>';
  16.  
  17. echo mb_convert_encoding($listeVilles, "UTF-8", "ISO-8859-15");
  18. ?>


fichier index.php

  1. <?php require_once('liste/class/class.france.php');
  2.  
  3. $france = new france();
  4. $region = $france->getRegions();
  5.  
  6. echo '
  7. <label for="region">Région: </label>
  8. <select name="region" id="region" onchange="getDpt();">
  9. <option value="-1">Régions</option>
  10. ';
  11. for($i=0;$i<count($region);$i++) {
  12. echo '
  13. <option value="'.$region[$i]['region_id'].'">'.$region[$i]['region_name'].'</option>
  14. ';
  15. }
  16. echo '
  17. </select>
  18. ';
  19.  
  20. echo '
  21. <div id="champsDpt">
  22. <label for="dpt">Département: </label>
  23. <select name="dpt" id="dpt">
  24. <option value="-1">Choisir une région</option>
  25. </select>
  26. </div>
  27.  
  28. <div id="champsVille">
  29. <label for="ville">Ville: </label>
  30. <select name="ville" id="ville">
  31. <option value="-1">Choisir un département</option>
  32. </select>
  33. </div>
  34.  
  35. <div id="champsQuartier">
  36. <label for="quartier">Quartier: </label>
  37. <select name="quartier" id="quartier">
  38. <option value="-1">Choisir une ville</option>
  39. </select>
  40. </div>
  41. '; ?>


le 4eme niveau est vide, n'affiche pas une valeur alors qu'il contient un enregistrement liee au 3eme niveau

  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
Est-ce que tu peux faire voir ton code maintenant, qu'on vérifie que tout est bien mis.

Et puis, sinon, tu peux toujours vérifier dans la page PHP que ça te retourne bien ce que tu veux.
  • Commenter cette réponse |
Score
0
òh
òi
|
Un problème avec ajax.quartier.php peut être, il faut que tu le teste à part.
Je me répète mais firebug et regarde le résultat de la requête ajax dans l'onglet réseau :) 
  • Commenter cette réponse |
Score
0
òh
òi
|
Bonjour,
le 4eme niveau est devenue vide ça peut etre du a quoi.
j'ai pour la table quartier un seul enregistrement en liaiason avec le troisieme.

Merci d'avance
  • Commenter cette réponse |
Score
0
òh
òi
|
Oui c'est ça :) 
  • Commenter cette réponse |
Score
0
òh
òi
|
edit: il fallait lire getQuartier() et pas getDpt() bien sûr

c-à-d, en ce code
$listeVilles .= '<select name="ville" id="ville" onchange="getDpt();">';

je change getDpt() par getQuartier() ?
le probleme n'est pas résolu

  • Commenter cette réponse |
Score
0
òh
òi
|
Dans getQuartier
  1. sel = document.getElementById('dpt');
  2. idDpt = sel.options[sel.selectedIndex].value;
  3. xhr.send("idVille="+idVille);

à remplacer par
  1. sel = document.getElementById('ville');
  2. idVille = sel.options[sel.selectedIndex].value;
  3. xhr.send("idVille="+idVille);


J'ai l'impression que tu ne comprends vraiment pas ce que tu fais :) 
Si ça ne fonctionne toujours pas, regarde avec les outils que j'ai cité plus haut si il y a bien une requête "POST ajax.quartier.php" qui part. Si oui, avec quels paramètres et quel résultat. Si non, ajoute des console.log() pour voir où ça bloque et si les variables contient bien les valeurs attendues.
  • Commenter cette réponse |
Score
0
òh
òi
|
Merci,

le probleme encore n'est pas résolu
quels sont les autres failles?
  • Commenter cette réponse |
Score
0
òh
òi
|
Tu oublies d’exécuter un getDpt() sur le changement de ville:
  1. $listeVilles .= '<select name="ville">';

devient
  1. $listeVilles .= '<select name="ville" id="ville" onchange="getDpt();">';


Tu devrais utiliser Firebug sous Firefox ou les Outils de développement sous Chrome, ça aide beaucoup à déboguer. Tu peux à la fois voir les requêtes Ajax et leur contenu, avoir une console pour y afficher des message de débogue avec console.log() :) 

edit: il fallait lire getQuartier() et pas getDpt() bien sûr :) 
  • Commenter cette réponse |
Score
0
òh
òi
|
Bonjour

j'ai fait cette modification et ça reste ne marche pas.
si y a d'autres erreurs veillez me dites quels sont.

Merci d'avance
  • Commenter cette réponse |
Score
0
òh
òi
|
Bonjour,

Il y a au moins une erreur dans ton code HTML, tu dois remplacer
  1. <div id="champsquartier">

par
  1. <div id="champsQuartier">

pour que le callback de ta requête Ajax sur le quartier fonctionne ;) 
  • Commenter cette réponse |
Score
0
òh
òi
|
Bonjour
voila les données:
fichiers index.php:

  1. <head>
  2. <title>Démo des listes liées en AJAX</title>
  3. <script type="text/javascript" src="js/listeLiees.js"></script>
  4. <style type="text/css">
  5. label {
  6. width: 350px;
  7. float: left;
  8. }
  9. select {
  10. width: 200px;
  11. }
  12. </style>
  13. </head>
  14.  
  15. <body>
  16. <?php
  17.  
  18. require_once('class/class.france.php');
  19.  
  20. $france = new france();
  21. $region = $france->getRegions();
  22.  
  23. echo '
  24. <label for="region">Région: </label>
  25. <select name="region" id="region" onchange="getDpt();">
  26. <option value="-1">Régions</option>
  27. ';
  28. for($i=0;$i<count($region);$i++) {
  29. echo '
  30. <option value="'.$region[$i]['region_id'].'">'.$region[$i]['region_name'].'</option>
  31. ';
  32. }
  33. echo '
  34. </select>
  35. ';
  36.  
  37. echo '
  38. <div id="champsDpt">
  39. <label for="dpt">Département: </label>
  40. <select name="dpt" id="dpt">
  41. <option value="-1">Choisir une région</option>
  42. </select>
  43. </div>
  44.  
  45. <div id="champsVille">
  46. <label for="ville">Ville: </label>
  47. <select name="ville" id="ville">
  48. <option value="-1">Choisir un département</option>
  49. </select>
  50. </div>
  51.  
  52. <div id="champsquartier">
  53. <label for="quartier">Quartier: </label>
  54. <select name="quartier" id="quartier">
  55. <option value="-1">Choisir une ville</option>
  56. </select>
  57. </div>
  58. ';
  59. ?>
  60. </body>


fichier ajax.dpt.php
  1. <?php
  2. require_once('class/class.france.php');
  3.  
  4. $france = new france();
  5.  
  6. $dpt = $france->getDptByRegion($_POST['idRegion']);
  7.  
  8. $listeDpt = '<label for="dpt">Département: </label>';
  9. $listeDpt .= '<select name="dpt" id="dpt" onchange="getVille();">';
  10.  
  11. for($i=0;$i<count($dpt);$i++) {
  12. $listeDpt .= '<option value="'.$dpt[$i]['dpt_id'].'">'.$dpt[$i]['dpt_name'].'</option>';
  13. }
  14.  
  15. $listeDpt .= '</select>';
  16.  
  17. echo mb_convert_encoding($listeDpt, "UTF-8", "ISO-8859-15");
  18. ?>


fichier ajax.ville.php
  1. <?php
  2. require_once('class/class.france.php');
  3.  
  4. $france = new france();
  5.  
  6. $villes = $france->getVilleByDpt($_POST['idDpt']);
  7.  
  8. $listeVilles = '<label for="ville">Ville: </label>';
  9. $listeVilles .= '<select name="ville">';
  10.  
  11. for($i=0;$i<count($villes);$i++) {
  12. $listeVilles .= '<option value="'.$villes[$i]['ville_id'].'">'.$villes[$i]['ville_name'].'('.$villes[$i]['ville_cp'].')</option>';
  13. }
  14.  
  15. $listeVilles .= '</select>';
  16.  
  17. echo mb_convert_encoding($listeVilles, "UTF-8", "ISO-8859-15");
  18. ?>


fichier ajax.quartier.php (le fichier que j'ai ajouter et le champ quartier que j'ai ajouter dans index.php, et qui ne repond pas)

  1. <?php
  2. require_once('class/class.france.php');
  3.  
  4. $france = new france();
  5.  
  6. $villes = $france->getQuartierByVille($_POST['idVille']);
  7.  
  8. $listeQuartiers = '<label for="quartier">Quartier: </label>';
  9. $listeQuartiers .= '<select name="quartier">';
  10.  
  11. for($i=0;$i<count($quartiers);$i++) {
  12. $listeQuartiers .= '<option value="'.$quartier[$i]['quartier_id'].'">'.$quartiers[$i]['quartier_name'].')</option>';
  13. }
  14.  
  15. $listeQuartiers .= '</select>';
  16.  
  17. echo mb_convert_encoding($listeQuartiers, "UTF-8", "ISO-8859-15");
  18. ?>




et le fichier javascript qui est listeliee.js

  1. function getXhr(){
  2. var xhr = null;
  3. if(window.XMLHttpRequest) // Firefox et autres
  4. xhr = new XMLHttpRequest();
  5. else if(window.ActiveXObject){ // Internet Explorer
  6. try {
  7. xhr = new ActiveXObject("Msxml2.XMLHTTP");
  8. } catch (e) {
  9. xhr = new ActiveXObject("Microsoft.XMLHTTP");
  10. }
  11. }
  12. else { // XMLHttpRequest non supporté par le navigateur
  13. alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
  14. xhr = false;
  15. }
  16. return xhr;
  17. }
  18.  
  19. //Retourne la liste des départements d'une région
  20. function getDpt(){
  21. var xhr = getXhr();
  22. // On défini ce qu'on va faire quand on aura la réponse
  23. xhr.onreadystatechange = function(){
  24. // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
  25. if(xhr.readyState == 4 && xhr.status == 200){
  26. leselect = xhr.responseText;
  27. // On se sert de innerHTML pour rajouter les options a la liste
  28. document.getElementById('champsDpt').innerHTML = leselect;
  29. }
  30. }
  31.  
  32. // Ici on va voir comment faire du post
  33. xhr.open("POST","ajax.dpt.php",true);
  34. // ne pas oublier ça pour le post
  35. xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  36. sel = document.getElementById('region');
  37. idRegion = sel.options[sel.selectedIndex].value;
  38. xhr.send("idRegion="+idRegion);
  39. }
  40.  
  41. //Retourne la liste des villes d'un département
  42. function getVille(){
  43. var xhr = getXhr();
  44. // On défini ce qu'on va faire quand on aura la réponse
  45. xhr.onreadystatechange = function(){
  46. // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
  47. if(xhr.readyState == 4 && xhr.status == 200){
  48. leselect = xhr.responseText;
  49. // On se sert de innerHTML pour rajouter les options a la liste
  50. document.getElementById('champsVille').innerHTML = leselect;
  51. }
  52. }
  53.  
  54. // Ici on va voir comment faire du post
  55. xhr.open("POST","ajax.ville.php",true);
  56. // ne pas oublier ça pour le post
  57. xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  58. sel = document.getElementById('dpt');
  59. idDpt = sel.options[sel.selectedIndex].value;
  60. xhr.send("idDpt="+idDpt);
  61. }
  62.  
  63. //Retourne la liste des quartiers d'une ville
  64. function getQuartier(){
  65. var xhr = getXhr();
  66. // On défini ce qu'on va faire quand on aura la réponse
  67. xhr.onreadystatechange = function(){
  68. // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
  69. if(xhr.readyState == 4 && xhr.status == 200){
  70. leselect = xhr.responseText;
  71. // On se sert de innerHTML pour rajouter les options a la liste
  72. document.getElementById('champsQuartier').innerHTML = leselect;
  73. }
  74. }
  75.  
  76. // Ici on va voir comment faire du post
  77. xhr.open("POST","ajax.quartier.php",true);
  78. // ne pas oublier ça pour le post
  79. xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  80. sel = document.getElementById('dpt');
  81. idDpt = sel.options[sel.selectedIndex].value;
  82. xhr.send("idVille="+idVille);
  83. }


j'ai pas pu connaitre pourquoi le 4eme niveau ne marche

Merci d'avance de m'aider
  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
Salut,

Ca devrait être assez simple, vu que c'est la même chose que pour les autres. Mais sans ton code, on ne va pas pouvoir te dire quoi faire.
Et si tu as un message d'erreur, n'hésites pas à nous l'indiquer.
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS