Aller au contenu

[Résolu]Bug sous IE:getElementById ne renvoie rien


fabulon

Messages recommandés

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...

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...