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

Fermé
Samo - 30 mai 2013 à 18:25
totodunet Messages postés 1377 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 5 mars 2020 - 31 mai 2013 à 16:49
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 mercredi 18 mars 2009 Statut Membre Dernière intervention 5 mars 2020 199
Modifié par totodunet le 31/05/2013 à 16:51
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