Creation d'une liste déroulante renseignée suivant un input

Creation d'une liste déroulante renseignée suivant un input - HTML/CSS - Programmation

Marsh Posté le 08-06-2006 à 14:38:52    

Bonjour,
 
J'aimerai savoir comment réaliser une liste déroulante suivant un champ input, je m'explique :
 
J'ai un champ input de type=text qui prend en compte un numero de departement, exemple 31 pour midi-pyrénées, et suivant le departement rentré en parametre, je voudrais qu'il aille suivant une requete me créer une liste deroulante contenant toutes les personnes habitant dans ce departement.
Voyez vous comment proceder ?
 
Merci :hello:


Message édité par krovomi le 08-06-2006 à 14:53:44
Reply

Marsh Posté le 08-06-2006 à 14:38:52   

Reply

Marsh Posté le 08-06-2006 à 15:10:14    

Personne ne sait ?

Reply

Marsh Posté le 08-06-2006 à 15:36:24    

tu soumets ton formulaire qui contient le code postal a une page php, qui effectue la requete qui va bien en fonction du paramètre récupéré et tu construis ta liste en fonction des résultats...


Message édité par anapajari le 08-06-2006 à 15:36:57
Reply

Marsh Posté le 09-06-2006 à 12:18:44    

on doit pouvoir faire ça avec Ajax, d'ailleurs c'est surtout a ça que ça sert, apres, j'ai pas de sources sous la main, une petite recherche s'impose  [:petrus75]


Message édité par phenxdesign le 09-06-2006 à 12:19:30
Reply

Marsh Posté le 03-07-2006 à 17:49:06    

C'est bon j'ai trouvé ce que je voulais:
 
Parti AJAX :

Code :
  1. var xhr = null;
  2. function getXhr()
  3. {
  4.  if (window.XMLHttpRequest) // Firefox et autres
  5.  {
  6.   xhr = new XMLHttpRequest();
  7.  }
  8.  else if (window.ActiveXObject) // Internet Explorer  
  9.  {
  10.   try
  11.   {
  12.    xhr = new ActiveXObject("Msxml2.XMLHTTP" );
  13.   }
  14.   catch (e)
  15.   {
  16.    xhr = new ActiveXObject("Microsoft.XMLHTTP" );
  17.   }
  18.  }
  19.  else // XMLHttpRequest non supporté par le navigateur  
  20.  {
  21.   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..." );
  22.   xhr = false;
  23.  }
  24. }
  25. /**
  26. * Méthode qui sera appelée sur le click du bouton
  27. */
  28. function go()
  29. {
  30.  getXhr();
  31.  // On défini ce qu'on va faire quand on aura la réponse
  32.  xhr.onreadystatechange = function()
  33.  {
  34.   // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
  35.   if (xhr.readyState == 4 && xhr.status == 200)
  36.   {
  37.    leselect = xhr.responseText;
  38.    // On se sert de innerHTML pour rajouter les options à la liste
  39.    document.getElementById('liste_client').innerHTML = leselect;
  40.   }
  41.  }
  42.  // Ici on va voir comment faire du post
  43.  var ret = xhr.open("POST", "requete_client.php", true);
  44.  // ne pas oublier ça pour le post
  45.  xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  46.  // ne pas oublier de poster les arguments
  47.  // ici, l'id du departement
  48.  sel = document.getElementById('liste_dept');
  49.  id_dept = sel.value;
  50.  xhr.send("CLCTABRE=" + id_dept);
  51. }


 
ensuite on passe les champs SQL qu'on veut renseigner (ici CLCTABRE) a une autre page PHP (requete_client)
 

Code :
  1. $user = unserialize($_SESSION['utilisateur']);
  2. if (isset($_POST['CLCTABRE']) && strcmp($_POST['CLCTABRE'], "" ))
  3. {
  4.  $i = 0;
  5.  $result = ibasequery("SELECT DISTINCT CLKTCODE, CLCTABRE FROM CLIENT WHERE CLCTABRE LIKE '".$_POST['CLCTABRE']."%' OR CLCTABRE LIKE 'P".$_POST['CLCTABRE']."%' AND CLCTREP1='".$user->code_rep."'" );
  6.  while ($onerow = ibasefetchrow($result))
  7.  {
  8.   foreach($onerow as $key => $value)
  9.   {
  10.    if ($i % 2 == 1) // Chiffres Pairs
  11.     echo "<option value='".$value."'>".$value."<br>";
  12.    $i++;
  13.   }
  14.  }
  15. }
  16. ibase_close();


 
voila donc ca marche bien  :bounce:

Reply

Marsh Posté le 04-07-2006 à 09:23:41    

ça marche bien mais c'est pas de l'ajax ;)

Reply

Marsh Posté le 04-07-2006 à 09:35:43    

+1

Reply

Marsh Posté le 04-07-2006 à 10:04:06    

Snif ... et ceux qui ont pas de JS ils font comment? :(


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 04-07-2006 à 10:07:08    

anapajari a écrit :

ça marche bien mais c'est pas de l'ajax ;)


 
lol

Reply

Marsh Posté le 04-07-2006 à 10:39:44    

esox_ch a écrit :

Snif ... et ceux qui ont pas de JS ils font comment? :(


il font pas  [:petrus75]

Reply

Marsh Posté le 04-07-2006 à 10:39:44   

Reply

Marsh Posté le 04-07-2006 à 11:13:32    


 
Faudrait p-e prevoir une solution alternative? [:petrus75]
On voit que vous vous êtes jamais trouvés bloqués à naviguer sous Lynx parceque votre serveur graphique foirait [:petrus75]


Message édité par esox_ch le 04-07-2006 à 11:13:57

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 04-07-2006 à 11:34:12    

je suis toujours sous windause [:petrus75] alors le serveur graphique  [:cupra]  
ben en fait on peut avertir le client qu'il a pas javascript, et faire une version allegée, qui demande un rechargement de la page, a la bonne vieille methode.
ou simplement charger dans un GROS tableau au chargement de la page qui contient le resultat de toutes les requetes possibles, mais la encore c'est du javascript [:petrus75] alors oublions :D

Reply

Marsh Posté le 04-07-2006 à 11:59:06    

Bein oui merde, laissez nous une alternative :D
Même ce forum, avec lynx c'est vraiment le bordel, faut y avoir passé des heures dessus pour comprendre ou est quoi :D


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 04-07-2006 à 13:36:17    

bah pourtant j'ai tiré une partie du code sous un site dédié à l'ajax...enfin bref tu ne vas pas me dire que la fonction getHxr n'est pas de l'ajax tout de meme, si ?

Reply

Marsh Posté le 04-07-2006 à 14:17:28    

ben dans AJAX il y a un "X" qui signifie XML, or, tu n'as pas de XML :D
mais bon ça se rapproche quand meme du Ajax

Reply

Marsh Posté le 04-07-2006 à 14:23:58    

phenxdesign a écrit :

ben dans AJAX il y a un "X" qui signifie XML, or, tu n'as pas de XML :D
mais bon ça se rapproche quand meme du Ajax


Pas d'accord c'est du pure javascript son bouzin!!! Y'a juste un xmlHttpRequest...
Les buzzworlds passent encore, mais ne mélangeons pas tout :o

krovomi a écrit :

bah pourtant j'ai tiré une partie du code sous un site dédié à l'ajax...enfin bref tu ne vas pas me dire que la fonction getHxr n'est pas de l'ajax tout de meme, si ?


Si c'est pas lui qui le dit, c'est moi qui le hurlerais !!!
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed