tester valeurs liste déroulante

Invité
Invité n'ayant pas de compte PHPfrance

31 août 2010, 01:37

Bonjour à tous,

j'utilise le code js suivant pour tester les valeurs d'une liste déroulante id='maListeDeroulante':
			var elt = document.getElementById(\'maListeDeroulante\');
			elt.onchange = function () {
				if (this.options[this.selectedIndex].value == \'Oui\');
				{
					alert(this.options[this.selectedIndex].value);
				}
			}

Voici ma liste:
<select size="0"  id="maListeDeroulante" name="maListeDeroulante[]">
	<option value="">Sélectionner</option>
	<option value="Non">Non</option>
	<option value="Oui">Oui</option>
</select>

Je m'attendais à ce que ce code déclenche un alert uniquement quand la valeur sélectionnée est 'Oui'.
Pourtant ce n'est pas le cas: la fonction se déclenche SYSTEMATIQUEMENT, que la valeur sélectionnée soit 'Oui' ou 'Non', comme si ma condition était ignorée.
Voyez-vous ce qui ne va pas?

En vous remerciant pour vos réponses.

Eléphant du PHP | 86 Messages

01 sept. 2010, 11:44

Salut,

Ta syntaxe est incorrecte, tu as mis un ";" à la fin de la ligne de ton "if".
De plus, tu devrais plutôt mettre le onchange dans la balise select et appeler une fonction js exemple :
<html>
<head>
	<script type="text/javascript">
	function TestListe()
	{
		var elt = document.getElementById("maListeDeroulante");
		if (elt.options[elt.selectedIndex].value == "Oui")
		{
			alert(elt.options[elt.selectedIndex].value);
		}
	}
	</script>
</head>

<body>
	<select onchange="TestListe();" size="0" id="maListeDeroulante" name="maListeDeroulante[]">
		<option value="">Sélectionner</option>
		<option value="Non">Non</option>
		<option value="Oui">Oui</option>
	</select>
</body>
</html>