IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Validation de formulaire: script faux?


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Points : 12
    Points
    12
    Par défaut Validation de formulaire: script faux?
    Bonjour...
    Voici mon code de formulaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <form name="formsaisie" method="get" enctype="text/plain" action="envoi.php" onsubmit="return validation();">
            <pre class="petit2">  
                      Nom: <input name="nom" style="background-color:#FFCC99; width: 300px">
                  Pr&eacute;nom: <input name="prenom" style="background-color:#FFCC99; width: 300px"> 
    	         Email: <input name="mail" style="background-color:#FFCC99; width: 300px">
    	      Adresse: <textarea name="adresse" rows="2" cols="30" style="background-color:#FFCC99; width: 300px"></textarea><br>
                       Sujet: <input name="sujet" style="background-color:#FFCC99; width: 300px">  
    	      Message: <textarea name="message" rows="5" cols="30" style="background-color:#FFCC99; width: 300px"></textarea><input type="submit" value="Envoyer" style="background-color:#CCCCFF;">
             </pre>
          </form>
    Et mon script de validation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    <script language="Javascript">
    function validation()
    {
    if(document.formsaisie.nom.value == "")
    {
    alert('Anonymat refusé!');
    return false;
    }
    else
    {
    return true;
    }
     
    if(document.formsaisie.mail.value == "")
    {
    alert('Un mail valide, SVP!');
    return false;
    }
    else
    {
    return true;
    }
     
    if(document.formsaisie.sujet.value == "")
    {
    alert('Un sujet à votre message, SVP!');
    return false;
    }
    else
    {
    return true;
    }
     
    if(document.formsaisie.nom.value == "")
    {
    alert('Vous avez oublié votre message!');
    return false;
    }
    else
    {
    return true;
    }
    }
    </script>
    Ca marche pour "nom", mais si le reste n'est pas rempli, ça envoie quand même...
    Qu'est-ce que j'ai pas bien fait (précision: je débute en js...)?
    http://gunsch.free.fr/contact.html
    pour constater.
    Merci pour vos réponses...

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    essaye ça plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    function validation()
    {
    	var sendForm = true;
    	var msgRetour = "";
    if(document.formsaisie.nom.value == "")
    {
    	msgRetour += 'Anonymat refusé!';
    	sendForm = false;
    }
    if(document.formsaisie.mail.value == "")
    {
    	msgRetour +='<br />Un mail valide, SVP!');
    	sendForm = false;
    }
    if(document.formsaisie.sujet.value == "")
    {
    	msgRetour +='<br />Un sujet à votre message, SVP!';
    	sendForm = false;
    }
    if(document.formsaisie.nom.value == "")
    {
    	msgRetour +='<br />Vous avez oublié votre message!';
    	sendForm = false;
    }
    if(msgRetour != ""){
    	alert(msgRetour);
    	return sendForm;
    }
    return sendForm;
    }
    l'erreur viens du fait que tu fais un return a chaque condition donc les suivante ne sont pas gérées
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2008
    Messages : 13
    Points : 12
    Points
    12
    Par défaut Résolu
    Ben... ça marche pas...
    Par contre,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    <script language="Javascript">
    function validation()
    {
     
    if(document.formsaisie.nom.value == "")
    {
    alert('Anonymat refusé!');
    return false;
    }
     
    if(document.formsaisie.mail.value == "")
    {
    alert('Un mail valide, SVP!');
    return false;
    }
     
    if(document.formsaisie.sujet.value == "")
    {
    alert('Un sujet à votre message, SVP!');
    return false;
    }
     
    if(document.formsaisie.message.value == "")
    {
    alert('Vous avez oublié votre message!');
    return false;
    }
     
    else
    {
    return true;
    }
    }
    </script>
    çà, ça marche bien.
    Apparemment c'était "else" qui mettait le bazar...
    Voilà, voilà.

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    rien a voir ..........

    c'est ton return true !

    sinon sur ma fonction qu'est ce qui ne marche pas ?
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. script js de validation de formulaire d'inscription
    Par Chakalaka dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/12/2009, 04h48
  2. Réponses: 2
    Dernier message: 07/07/2009, 11h17
  3. Script de validation de formulaire
    Par rberthou dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/01/2008, 00h44
  4. [AJAX] Rendre full ajax un script de validation de formulaire
    Par Darkenshin dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/01/2008, 23h58
  5. Classe ou script de validation des formulaires.
    Par __fabrice dans le forum Langage
    Réponses: 22
    Dernier message: 30/12/2005, 10h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo