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 :

Erreur en Javascript incompréhensible !


Sujet :

jQuery

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 81
    Points : 56
    Points
    56
    Par défaut Erreur en Javascript incompréhensible !
    Bonjour à tous !

    Voila mon problème :

    Je suis en train de créer un espace membre pour mon site.

    J'ai fait un formulaire d'inscription avec javascript et jquery.

    Lorsqu'un utilisateur renseigne les différents champs, avec jquery je fais 2 appels ajax pour vérifier si le login ou l'email ne sont pas déjà pris grâce à un fichier php qui accède à ma base, puis si c'est ok je valide l'inscription et je fais une nouvelle requête ajax qui ajoute le nouvel utilisateur.

    Mon problème, c'est que lorsque l'utilisateur renseigne les champs de manière correct, tout se déroule bien et l'entrée en base de donnée se fait correctement, mais si l'utilisateur valide une 2 ème fois le formulaire, il refait une entrée en base !

    J'utilise une variable "valid" qui est à false si jamais lors de la vérification du pseudo ou du mail est déjà en base.*

    J'ai analysé la page avec firebug et la, à ma grande stupéfaction, mon if(valide==true){faire la requete ajax pour entrer le nouvel utilisateur} ne fonctionne pas ! (voir la capture d'écran). Alors que la variable "valid est égale à false, il entre tout de meme dans le if et fait la requete ajax !

    Dans la capture d'écran j'ai laissé mon curseur sur la variable "valid" afin de montrer qu'elle est bel et bien à false et j'ai mis un point d'arret dans le if... ma question est donc la suivante : Pourquoi il entre quand meme dans le if ?

    Merci de votre aide
    Images attachées Images attachées  

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Et avec if (valid === true) ?

  3. #3
    Membre éclairé Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Points : 831
    Points
    831
    Par défaut
    Bonsoir,

    J'utilise une variable "valid" qui est à false si jamais lors de la vérification du pseudo ou du mail est déjà en base.*
    Mais si la vérification se passe bien, qu'y a-t-il dans valid ?
    Es-tu sûr qu'il y a true comme tu le testes ?

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 81
    Points : 56
    Points
    56
    Par défaut
    Désolé de la réponse tardive, pour répondre à vos questions oui daniel j'avais aussi éssayé le symbole de comparaison === pour vérifier aussi le type et j'avais le même résultat, et pour répondre à ta question micetf j'avais mis des points d'arrets sur firbug à chaque changement de cette variable, je l'ai surveillé du début du script et à tous ses changements...

    J'ai du pallier à ce bug en reprenant tout mon code depuis le début... et maintenant tout marche

    En fait a travers ce poste je voulais savoir si cette histoire de if qui fonctionne pas, c'était pas un problème récurrent en fonction d'une situation mais apparemment non... ça restera un des mystères que seul mulder pourra résoudre je pense ^^

    Merci de vos réponse en tout cas !

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Tu es bien sûr que valid contient le booléen false et non la chaine false ?
    Parce que si tu affectes à valid le retour d'une requête AJAX, tu n'obtiendras pas un booléen.

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 81
    Points : 56
    Points
    56
    Par défaut
    Non je n'affectais pas directement le retour de la requête AJAX à ma variable valid. Il y avait un test de type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(data==false)
    {
     valid = false;
    }
    Et quand j'analysais ça avec firebug, la variable entrait bien dans le if et s'initialisait bien a false à ce moment la...

    Le problème c'est que j'ai repris tout mon code et que je n'ai plus cette érreur et comme j'ai effacé le fichier je peux plus faire de test dessus, c'est dommage cette erreur était vraiment à creuser...

Discussions similaires

  1. [javascript] erreur de syntaxe incompréhensible
    Par jijaLaClasse dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/11/2007, 11h44
  2. Erreur javascript incompréhensible
    Par guidav dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/01/2007, 10h12
  3. TCppWebBrowser : Erreurs de javascript
    Par nadj_k dans le forum C++Builder
    Réponses: 4
    Dernier message: 03/10/2006, 01h08
  4. [W3C] Erreurs de validation incompréhensibles
    Par brotelle dans le forum Balisage (X)HTML et validation W3C
    Réponses: 21
    Dernier message: 12/05/2006, 12h03
  5. erreur javascript incompréhensible
    Par amelhog dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/08/2005, 16h50

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