test de vérification de saisi

Eléphant du PHP | 164 Messages

23 nov. 2005, 15:21

Bonjour,
j'ai un petit souci:

Je souhaite vérifier si un élément de formulaire a été saisi, particulièrement une liste déroulante à choix multiple

J'utilise le code suivant:

Code : Tout sélectionner

if(document.nomform.nomchamp.value.length == false) { alert("message"); }
Ceci fonctionne avec les listes déroulanres classique et les champs texte mais pas avec les liste déroulantes à choix multiple.

quelqu'un peut m'aider?

cams
Invité n'ayant pas de compte PHPfrance

22 déc. 2005, 12:46

jsuis preneur du code si quelqu'un sait...

Mammouth du PHP | 19672 Messages

22 déc. 2005, 13:00

Il y a une chose que tu devrais essayer, ça peut te servir très souvent en développement : si tu essayais de voir ce que te retourne un élément ?

Code : Tout sélectionner

alert(document.nomform.nomchamp.value.length);
Sélectionne des nombres variables de valeurs ou pas de valeur et regarde à chaque fois ce que ça te retourne: si c'est un nombre, la comparaison avec "false" n'est pas appropriée, il faudrait alors tester:

Code : Tout sélectionner

if(document.nomform.nomchamp.value.length < 1) { alert('CHoisieez au minimum un élément'); }
Par exemple.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

dehian
Invité n'ayant pas de compte PHPfrance

22 déc. 2005, 14:21

voici qui devrait t'aider....
<script>
function testsel()
{
sw=0;
for(i=0;i<document.form.test.length;i++)
	{
	if(document.form.test.options[i].selected==true)
		{sw=1;break;}
	}
if(sw==0)
	{alert("aucune valeur selectionnée");event.returnValue=false;}
}
</script>
<form name="form">

<select name="test" mutliple size=4>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
</select>

<input type="button" onclick="testsel();" value="test" name="sub">
</form>

Invité
Invité n'ayant pas de compte PHPfrance

22 déc. 2005, 17:35

Bon en fait je me suis arrangé j'en ai sélectionné un par défaut... au moins c'est réglé... :lol:
merci de m'avoir repondu tout de meme :wink: