Problème avec mon formulaire html, vérification en Javascript

Samo -  
totodunet Messages postés 1377 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous et à toutes,

Voila je suis en pleine finalisation d'un site, habituellement, je vérifie mes formulaires en php, cette fois-ci, j'ai décidé de tester 'javascript', l'affichage et la vérification en javascript avant l'envoie pour le traitement en php. J'ai un petit souci lors de la vérification. Lorsque l'utilisateur introduit l'information dans le champs 'prénom' ou 'adresse' voir aucun, le script marche, lorsqu'il rentre l'info dans le champs 'nom', il suffit que le 'nom' soit rempli pour que le formulaire soit immédiatement envoyé en appuyant sur ok. Je recherche mon erreur. En vous remerciant pour votre aide.

Voici le petit bout de code :

<script type="text/javascript">
//<![CDATA[

function afficher(frm){
alert("Vous avez tapé : " + frm.elements['nom'].value)
alert("Vous avez tapé : " + frm.elements['prenom'].value)
alert("Vous avez tapé : " + frm.elements['adresse'].value)
}

//]]>
//<![CDATA[
function valider(){
elt=document.forms['general'].elements['nom','prenom','adresse'];
if(elt.value != "") {
return true;
}
else {
alert("Saisissez le champs non rempli");
return false;
}
}
//]]>
</script>
<form action="envoi.php" onsubmit="return valider()" method="get" name="general">
<p>
<label for="nom">Saisissez votre nom :</label>
<input type="text" name="nom" id="nom"/>
<label for="prenom">Saisissez votre prénom :</label>
<input type="text" name="prenom" id="prenom" />
<label for="nom">Saisissez votre adresse :</label>
<input type="text" name="adresse" id="adresse" />
<input type="button" value="Afficher" onclick="afficher(this.form)" />
<input type="submit" value="Ok" />
</p>
</form>
A voir également:

1 réponse

totodunet Messages postés 1377 Date d'inscription   Statut Membre Dernière intervention   200
 
elt=document.forms['general'].elements['nom','prenom','adresse'];
elt est un tableau

il faut utiliser une boucle for

un truc de ce genre :

for(var i=0,c=elt.length;i<c;i++){
if(!elt[i].value) {
alert("Saisissez le champs non rempli");
return false;
}
}
return true;

Qui ne tente rien n'a rien
0