[AJAX] Lier deux listes déroulantes avec AJAX
Fermé
beegees
Messages postés
84
Date d'inscription
samedi 30 décembre 2006
Statut
Membre
Dernière intervention
1 janvier 2018
-
19 nov. 2008 à 19:45
beegees Messages postés 84 Date d'inscription samedi 30 décembre 2006 Statut Membre Dernière intervention 1 janvier 2018 - 21 nov. 2008 à 12:23
beegees Messages postés 84 Date d'inscription samedi 30 décembre 2006 Statut Membre Dernière intervention 1 janvier 2018 - 21 nov. 2008 à 12:23
A voir également:
- [AJAX] Lier deux listes déroulantes avec AJAX
- Deux comptes whatsapp - Guide
- Deux caractères manquent dans cette url ✓ - Forum Programmation
- Additionner deux listes python - Forum Python
- Deux ecran pc - Guide
- J'ai deux compte facebook avec la meme adresse mail ✓ - Forum Facebook
2 réponses
Alain_42
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
901
19 nov. 2008 à 22:15
19 nov. 2008 à 22:15
ta partie formulaire:
la fonction Ajax go()
et le fichier rep_ajax_liste2.php (nomme le bien ainsi)
<form>
<select name="annee" id="annee" onchange="go('rep_ajax_liste2.php','annee','liste_Nom_mnemonics')">
<option value='-1'>(1)Choisissez une année</option>
<?php
while($row = mysql_fetch_assoc($query)){
echo "<option value="".$row['NOM_ANNEE']."">".$row['NOM_ANNEE']."</option>";
}
?>
</select>
<div id="liste_Nom_mnemonics">
<!-- la sera chargee la deuxieme liste par Ajax -->
</div>
</form>
la fonction Ajax go()
/**
* Méthode qui sera appelée sur le click du bouton
*/
function go(url,id_lire,id_ecrire){
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
//je t'ai modifie la ligne ci dessous
document.getElementById(id_ecrire).innerHTML = leselect;
}
}
// Ici on va voir comment faire du post
xhr.open("POST",url,true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// ne pas oublier de poster les arguments
// ici, l'id de l'auteur
//tu a pompé ce script sans l'adapter à ton cas
//je t'ai modifié les lignes ci dessous
obj = document.getElementById(id_lire);
data = "sel="+obj.value;
xhr.send(data);
}
et le fichier rep_ajax_liste2.php (nomme le bien ainsi)
<?php
echo "<select name='select_Nom_mnemonics'>";
if(isset($_POST['sel'])){
mysql_connect("localhost","root","mdp");
mysql_select_db("deliberations");
$res = mysql_query("SELECT * FROM annees
WHERE NOM_ANNEE='".$_POST['sel']."'");
while($row = mysql_fetch_assoc($res)){
//ci dessous je pense que tu dois modifier les noms des champs a afficher pour avoir les Nom_mnemonics
echo "<option value="".$row['ID']."">".$row['ID']."</option>";
}
}
echo "</select>";
?>
beegees
Messages postés
84
Date d'inscription
samedi 30 décembre 2006
Statut
Membre
Dernière intervention
1 janvier 2018
7
21 nov. 2008 à 12:23
21 nov. 2008 à 12:23
Bonjour Alain,
Un tout grand merci pour ta réponse.
J'ai trouvé une solution entre temps mais je vais quand même regarder ton code.
Merci encore.
beegees
Un tout grand merci pour ta réponse.
J'ai trouvé une solution entre temps mais je vais quand même regarder ton code.
Merci encore.
beegees