Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/06/2011, 19h15   #1
Candidat au titre de Membre du Club
 
Inscription : décembre 2006
Messages : 65
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : décembre 2006
Messages : 65
Points : 14
Points : 14
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
Type de fichier : jpg erreur.jpg (49,8 Ko, 8 affichages)
vgross est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2011, 02h13   #2
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

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

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonsoir

Et avec if (valid === true) ?
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2011, 23h13   #3
Membre chevronné
 
Avatar de micetf
 
Homme Fred
Professeur des Ecoles
Inscription : mai 2009
Messages : 503
Détails du profil
Informations personnelles :
Nom : Homme Fred
Localisation : France, Rhône (Rhône Alpes)

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

Informations forums :
Inscription : mai 2009
Messages : 503
Points : 701
Points : 701
Bonsoir,

Citation:
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 ?
micetf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 02h22   #4
Candidat au titre de Membre du Club
 
Inscription : décembre 2006
Messages : 65
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : décembre 2006
Messages : 65
Points : 14
Points : 14
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 !
vgross est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 08h38   #5
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 797
Points : 35 797
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.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/07/2011, 12h46   #6
Candidat au titre de Membre du Club
 
Inscription : décembre 2006
Messages : 65
Détails du profil
Informations personnelles :
Âge : 28

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

Code :
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...
vgross est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h25.


 
 
 
 
Partenaires

Hébergement Web