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

jQuery Discussion :

Afficher tous les messages d'erreur


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Par défaut Afficher tous les messages d'erreur
    Bonjour,

    Je voudrais afficher tous les messages d'erreur de mon formulaire en jQuery, mais il m'affiche seulement le premier message:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if (name == '') {
    	$("#msg").slideDown(1000).html('<b>Veuillez entrer votre nom</b>');
    	return false;
    }
     
    if (username == '') {
    	$("#msg").slideDown(1000).html('<b>Veuillez entrer votre pseudo</b>');
    	return false;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <div id="msg"></div>
    <form id="formulaire" action="#" method="POST">
    Name: <input type="text" name="name" id="name" /><br />
    Username: <input type="text" name="username" id="username" /><br />
    <input type="submit" name="send" value="GO" id="send" />
    </form>
    Merci

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 210
    Par défaut
    Bonjour,
    c'est un grand classique, si tu mets return false après chaque test tu n'auras que le test NOK qui apparaîtra, il te faut concaténer les messages d'erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
      var sMsg ="";
      if (name == '') {
        sMsg += '<li>Veuillez entrer votre nom</li>';
      }
      if (username == '') {
        sMsg += '<li>Veuillez entrer votre pseudo</li>';
      }
      if( szMsg.length){
        $("#msg").slideDown(1000).html( '<ul>' +sMsg +'<\/ul>');
        return false;
      }
    return true;

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Par défaut
    Merci pour votre reponse, je n'ai pas compris cette partie du code:

    voila le code entier:

    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    <html>
    <head>
    <style type="text/css">
     
    </style>
     
     
     
    <script src="jquery.js" type="text/javascript"></script>
     
    <script type="text/javascript" >
    $(document).ready(function() {
     
    $("#send").click(function(){
     
    		//Récupération des valeurs du formulaires
    		var name = $("#name").val();
    		var username = $("#username").val();
     
    		var sMsg =""; // pour afficher le message retourne
     
      		if (name == '') {
        	sMsg += '<li>Veuillez entrer votre nom</li>';
    				}
      		if (username == '') {
      		sMsg += '<li>Veuillez entrer votre pseudo</li>';
      				}
      		if( sMsg.length){
        	$("#msg").slideDown(1000).html( '<ul>' +sMsg +'<\/ul>');
        	return false;
      			}
      			else
      			{
      				$("#formulaire").hide();
      				$("#msg").fadeIn(1000).html( 'Merci');
     
     
      			}
    return false;
     
    		console.log(name);
     
    	});
     
     
     
    });
    </script>
     
     
    </head>
    <body>
     
    <div id="msg"></div>
    <form id="formulaire" action="#" method="POST">
    Name: <input type="text" name="name" id="name" /><br />
    Username: <input type="text" name="username" id="username" /><br />
    <input type="submit" name="send" value="GO" id="send" /> <span id="loading"></span>
    </form>
     
    </body>
    </html>

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 210
    Par défaut
    Citation Envoyé par isitien Voir le message
    Merci pour votre reponse, je n'ai pas compris cette partie du code:

    on fait le test sur la longueur de la chaine sMsg, si l'on n'a rien mis dedans la longueur est égale à 0 et le bloc de la condition n'est pas exécuté, si on a rajouté du texte la longueur est non égal à 0 et on passe dans le bloc de la condition, c'est l'équivalent de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // if( sMsg.length != "") EDIT de la ligne grosse ânerie
    if( sMsg != "")
    par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sMsg = '<li>Veuillez entrer votre nom</li>';
    alert( sMsg.length); // affiche 34

  5. #5
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Par défaut
    on ne peut pas faire comme ca sans le length:


  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 210
    Par défaut
    Citation Envoyé par isitien Voir le message
    on ne peut pas faire comme ca sans le length:

    comme tu as raison, c'est exactement cela, mauvais copier/coller non réajusté de ma part, je le corrige ça fait tâche!!!!!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/05/2011, 17h02
  2. Réponses: 2
    Dernier message: 05/07/2009, 16h46
  3. Afficher les messages d'erreur de validator
    Par weed dans le forum Struts 1
    Réponses: 3
    Dernier message: 30/10/2008, 09h17
  4. Afficher les messages d'erreurs
    Par jeedev dans le forum JSF
    Réponses: 3
    Dernier message: 25/08/2008, 17h48
  5. [ZendCore] Afficher les messages d'erreur
    Par yvesn40 dans le forum Zend
    Réponses: 2
    Dernier message: 17/04/2007, 11h48

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