tester valeurs liste déroulante

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : tester valeurs liste déroulante

Re: tester valeurs liste déroulante

par Skikit » 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>

tester valeurs liste déroulante

par Invité » 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.