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 :

Condition ne se valide pas


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 226
    Points : 119
    Points
    119
    Par défaut Condition ne se valide pas
    Bonjour

    Je rencontre un problème sur une condition toute bête dont je n'arrive pas à comprendre le comportement.
    Je la fait sur le retour d'une requête AJAX :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if (data == 0)
        { $('#result').text("Identifiant ou mot de passe invalide."); }
    if (data == -1)
        { $('#result').text("Utilisateur désactivé. Prenez contact avec un Gestionnaire pour le réactiver."); }
    else
        { $('#result').text(data); }
    Je vérifie mon data retourné et il contient bien des valeurs qui devraient valider les condition...
    Je ne passe jamais dans le 1er if, quand j'obtient -1 je rentre bien dans la condition dans tous les autres cas (y compris 0) j'arrive dans le else.

    Quelqu'un pourrait-il m'éclairer?

    Merci.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    regarde en console ce que retourne ton ajax ...

    rappel le retour ajax c'est du string ...

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 226
    Points : 119
    Points
    119
    Par défaut
    Merci pour votre réponse.

    Justement j'ai bien vérifié et j'ai bien 0 en retour de mon AJAX.
    Si c'est un string, je devrait faire un test en mettant :
    ???
    Mais dans ce cas pourquoi la comparaison avec -1 fonctionne?

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 226
    Points : 119
    Points
    119
    Par défaut
    Je viens de tester en interchangeant les 2 premieres conditions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if (data == -1)
        { $('#result').text("Utilisateur désactivé. Prenez contact avec un Gestionnaire pour le réactiver."); }
    if (data == 0)
        { $('#result').text("Identifiant ou mot de passe invalide."); }
    else
        { $('#result').text(data); }
    A présent c'est la condition avec -1 qui ne fonctionne plus!!! Mais celle avec 0 fonctionne...
    Je me demande si ce n'est pas dû à une erreur de syntaxe plus haut mais je ne vois rien.
    Dans le doute je pose le code de la fonction en 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
     
    $("#btnCnx").click(function (e) {
                   e.preventDefault();
                   inputLogin = document.getElementById('login');
                   inputPwd = document.getElementById('pwd');
                   login = inputLogin.value;
                   pwd = inputPwd.value;
     
                   if ((login!='') && (pwd !='')) {
     
                       $.post("verif_pwd.php", {login : login, pwd : pwd }, function(data){
                            if (data == -1)
                                { $('#result').text("Utilisateur désactivé. Prenez contact avec un Gestionnaire pour le réactiver."); }
                            if (data == 0)
                                { $('#result').text("Identifiant ou mot de passe invalide."); }
                            else
                                { $('#result').text(data); }
                            });
                        }
                    else {
                        $('#result').text("Veuillez renseigner l'identifiant et le mot de passe.");
                        }
                    });

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 226
    Points : 119
    Points
    119
    Par défaut
    J'ai finalement résolu mon probléme en remplaçant mon 2nd if par un else if

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if (data == -1)
       { $('#result').text("Utilisateur désactivé. Prenez contact avec un Gestionnaire pour le réactiver."); }
    else if (data == 0)
       { $('#result').text("Identifiant ou mot de passe invalide.");}
    else
       { $('#result').text(data); }
    Je ne pensais pas que c'était obligatoire...

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    var message;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    switch (data) {
     case: -1   : message= "Utilisateur désactivé. Prenez contact avec un Gestionnaire pour le réactiver.";
                      break;
     case  0 :  message ="Identifiant ou mot de passe invalide."
                   break;
    default :  message=data;
    }
     
     $('#result').text(message);

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 226
    Points : 119
    Points
    119
    Par défaut
    En effet c'est plus lisible de cette façon!

    Merci et bonne journée.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/07/2008, 09h30
  2. Condition dans une requete (pas en SQL)
    Par Luc01 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 08/12/2006, 22h57
  3. [vb.net] Condition qui ne fonctionne pas
    Par dyree dans le forum ASP.NET
    Réponses: 3
    Dernier message: 13/06/2006, 09h55
  4. Réponses: 5
    Dernier message: 28/04/2005, 10h38
  5. [JSP]formulaire de JSP ne valide pas
    Par rivierem dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 21/10/2004, 14h26

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