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 :

Test condition retourne toujours false


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mars 2018
    Messages : 29
    Par défaut Test condition retourne toujours false
    Ceci est un mystère pour moi (je viens de RoR) :

    je récupère des variables dans mon html via des data-set :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    let {lat, lng, price, poitype, id} = $item.dataset
    j'essaie de vérifier le poitype pour pouvoir traiter les valeurs en fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function test(poitype) {
      if (poitype === 'Town') {
        return true;
      }
      else {
        return false;
      }
    }
    J'ai mis un console.log juste avant ma function, et j'ai bien différents poitype qui sortent (string).

    Mais je n'arrive pas à comprendre pourquoi ma fonction test retourne systématiquement false.

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Citation Envoyé par Benji12 Voir le message
    Mais je n'arrive pas à comprendre pourquoi ma fonction test retourne systématiquement false.
    Ben si poitype est différent de 'Town' c'est normal...


    As-tu essayé en faisant : test("Town") ?

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mars 2018
    Messages : 29
    Par défaut
    Citation Envoyé par Beginner. Voir le message
    Ben si poitype est différent de 'Town' c'est normal...
    Sauf que j'ai des Towns... qui devraient retourner true

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Ta fonction retourne "true" seulement si poitype est égal à 'Town'...

    As-tu essayé en faisant : test("Town") ?

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mars 2018
    Messages : 29
    Par défaut
    Citation Envoyé par Beginner. Voir le message
    Ben si [B]
    As-tu essayé en faisant : test("Town") ?
    Je viens d'essayer et ça passe... ça viendrait donc de la variable ? Et pourtant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    console.log(poitype)
    > Town
    console.log(typeof poitype)
    >string
    console.log(test('Town'))
    >true
    console.log(test(poitype))
    >false

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Je ne sais pas, il faudrait qu'on puisse tester mais vérifie si il n'y a pas un espace avant ou après "Town"...

    Utilises la fonction trim() pour être tranquille...

  7. #7
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Tu peux modifier ta fonction comme ça par exemple :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function test(poitype) {
      poitype = poitype.trim();
      if (poitype === 'Town') {
        return true;
      }
      else {
        return false;
      }
    }


    PS : J'ai l'impression qu'il y a un espace avant "Town", non ?

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mars 2018
    Messages : 29
    Par défaut
    Citation Envoyé par Beginner. Voir le message
    Je ne sais pas, il faudrait qu'on puisse tester mais vérifie si il n'y a pas un espace avant ou après "Town"...

    Utilises la fonction trim() pour être tranquille...
    Merci, le problème venait de là... un foutu espace !!

    Est ce que tu conseilles d'utiliser la function trim() systématiquement ?

  9. #9
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Citation Envoyé par Benji12 Voir le message
    Est ce que tu conseilles d'utiliser la function trim() systématiquement ?
    Ben oui si tu veux être tranquille, c'est juste une ligne de plus, regarde mon message précédent, j'y ai posté une modification de ta fonction...

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

Discussions similaires

  1. IsAjaxRequest Retourne toujours false
    Par Akawan dans le forum ASP.NET MVC
    Réponses: 2
    Dernier message: 17/09/2010, 16h50
  2. Réponses: 12
    Dernier message: 05/12/2009, 15h16
  3. checkdnsrr retourne toujours false
    Par razbitume dans le forum Langage
    Réponses: 6
    Dernier message: 27/07/2009, 21h21
  4. ma nouvelle class retourne toujours false
    Par gtraxx dans le forum jQuery
    Réponses: 2
    Dernier message: 30/12/2008, 08h57
  5. [XSLT]fonction contains retourne toujours false
    Par wildmary dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 01/08/2007, 11h22

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