Posted December 22, 200915 yr J'ai réussi (après des déboires) à faire des listes déroulantes liées dynamiquement en utilisant la librairie prototype. Mais, il y a un hic sous IE. Tout d'abord, le code: Le fichier index.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>Socle</title> <meta http-equiv="content-language" content="fr" /> <meta http-equiv="content-Type" content="text/html;charset=iso-8859-15" /> <meta name="robots" content="noindex" /> <script type="text/javascript" src="lib/prototype.js"></script> <script type="text/javascript" src="mesfonctions.js"></script> </head> <body> <?php $table1='classe'; $table2='socle'; $table1_champ1='classe'; $table2_champ1='classe'; $table2_champ2='eleve'; include ('connexion.php'); $res=mysql_query("SELECT * FROM $table1"); $max=@mysql_num_rows($res); ?> <form method = "post" name = "socle" action="socle.php"> <p align ="center" >Socle</p> <p> </p> <p align = "center"> <select onChange="requete_ajax();" size="1" id="tb1" > <?php for ($nb=0;$nb<$max;$nb++) { $i=mysql_result($res,$nb,$table1_champ1); echo '<option>'.$i.'</option>'; } ?> </select> <select name="eleve" id="emplacement" size=1> </select> </p> <p> </p> <p align="center"><input TYPE="submit" VALUE="Envoyer" ></p> </form> </body> </html> Le fichier .js où est fait la requête ajax: function requete_ajax() { var valeur = document.getElementById("tb1").value; alert (valeur); var parametres = 'classe='+valeur; var myAjax = new Ajax.Updater( 'emplacement' , 'remplir2ndselect.php' , { method: 'get', parameters: parametres } ); } Quel est le problème? Le document.getElementById("tb1").value ne renvoie aucune valeur sous IE, alors qu'il renvoie la bonne valeur sous Firefox. Je ne vois pas ce qui cloche...
December 23, 200915 yr Author J'ai trouvé! Mon <option> qui affiche les valeurs du 1er select n'a pas de valeur. Donc IE n'en tire rien. En revanche firefox se débrouille pour tirer le text de l'option si l'option n'a pas de value. Donc voilà la modif pour mon prog: echo '<option value="'.$i.'">'.$i.'</option>'; voili voilo
Archived
This topic is now archived and is closed to further replies.