Problème lors de la vérification en Javascript, formulaire html

Résolu/Fermé
Samo123456 Messages postés 4 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 30 mai 2013 - 30 mai 2013 à 18:45
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 - 30 mai 2013 à 21:23
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:

7 réponses

jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
30 mai 2013 à 21:23
Parfait ;-)
1
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
30 mai 2013 à 20:09
Salut !

Essaye de faire de la même manière que affiche() en envoyant this :
onsubmit="return valider(this)"
Tu as ainsi de suite le formulaire, et tu peux donc voir pour faire quelque chose comme ca :
function valider(formulaire)
{
return if(formulaire.nom != null && formulaire.prenom != null && formulaire.adresse != null);
}
0
Samo123456 Messages postés 4 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 30 mai 2013
30 mai 2013 à 20:26
Merci Jeremy !

Mais malgré mon test sur le bout de code, je ne vois pas où tu place le return if ? Ça ne fonctionne pas.

function valider(){
{
return if(formulaire.nom != null && formulaire.prenom != null && formulaire.adresse != null);
}
else {
alert("Saisissez le champs non rempli");
return false;
}
}
//]]>
</script>
<form action="envoi.php" onsubmit="return valider()" method="get" name="formulaire">

??? Merci
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
30 mai 2013 à 20:29
Si tu veux mettre un message il faut plutot faire comme ca :

function valider(){
{
if(formulaire.nom != null && formulaire.prenom != null && formulaire.adresse != null)
{
return true;
}
else {
alert("Saisissez le champs non rempli");
return false;
}
}

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Samo123456 Messages postés 4 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 30 mai 2013
30 mai 2013 à 20:46
Merci encore Jeremy ! En respectant les boucles, on a ce résultat, tu en pense quoi ?
Malgré tout, ça ne fonctionne toujours pas, je continue de chercher. A la base comme tu as pu le voir le code que j'avais fait plus haut fonctionne mais à moitié. Là il envoie directement lol Je me demande d'où vient l'erreur pourtant tout avait l'air parfait ! Eh bah non !

function valider(){
if(formulaire.nom != null && formulaire.prenom != null && formulaire.adresse != null)
{
return true;
}
else {
alert("Saisissez le champs non rempli");
return false;
}
}
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
30 mai 2013 à 20:48
function valider(formulaire){
if(formulaire.nom != null && formulaire.prenom != null && formulaire.adresse != null)
{
return true;
}
else {
alert("Saisissez le champs non rempli");
return false;
}
}

Et dans le html :
onsubmit="return valider(this)"
0
Samo123456 Messages postés 4 Date d'inscription jeudi 30 mai 2013 Statut Membre Dernière intervention 30 mai 2013
30 mai 2013 à 21:22
Merci encore et encore Jeremy, voici ma proposition, ton post m'a inspiré, tu en pense quoi ? Il fonctionne au top ! lol
//<![CDATA[
function valider(){
var nom = document.formSaisie.nom.value ;
var prenom = document.formSaisie.prenom.value ;
var adresse = document.formSaisie.adresse.value ;

if (nom!='' && prenom!='' && adresse!='')
return true ;
else {
var messageErreur = '' ;
if (nom=='')
messageErreur += 'Veuillez saisir votre nom.\n' ;
if (prenom=='')
messageErreur += 'Veuillez saisir votre prenom.\n' ;
if (adresse=='')
messageErreur += 'Veuillez saisir votre adresse adresse.\n' ;
alert(messageErreur) ;
return false ;
}
}

//]]>
</script>

</head>

<body>
<form action="envoie.php" onsubmit="return valider()"
method="get" name="formSaisie">
<p>
<label for="nom">Saisissez votre nom:</label>
<input type="text" name="nom" id="nom" />

<label for="nom">Saisissez votre prénom:</label>
<input type="text" name="prenom" id="prenom" />

<label for="adresse">Saisissez votre adresse :</label>
<input type="text" name="adresse" id="adresse" />

<input type="submit" value="Ok" />
</form>
0