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

Résolu
Samo123456 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
jeremy.s Messages postés 1226 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:

7 réponses

jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Parfait ;-)
1
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   79
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   79
 
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   Statut Membre Dernière intervention  
 
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