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 :

retour true ou false suivant erreur jquery


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Par défaut retour true ou false suivant erreur jquery
    Bonjour,

    j'utilise le jquery pour valider un formulaire composé de select.
    Je vérifie que les valeurs de ces select ne sont pas vide et si il ne le sont pas, je passe à la suite.

    Cette partie fonctionne sans problème, là ou ça se complique c'est quand un ou plusieurs select ne sont pas correcte, dans ce cas j'ai bien le message d'erreur, mais ensuite, une fois corriger en selectionnant quelques chose, impossible de valider le formulaire...

    Une petite idée ?

    voici le code jquery de vérification du formulaire :
    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
    $('#formselect').submit(function() {
    	error = true;
    	$.get("verifform.php?menu="+$("#menu option:selected").val(), function(data){
    		value=data.split('-');
    		for(i=0;i<value.length;i++)
    		{
    			if(i==0)
    				value[i] = value[i].substring(2);
    			if($("#"+value[i]+" option:selected").val() == "")
    			{
    				alert("Veuillez choisir votre " +value[i]);
    				error = false;
    			}
    		}	
    	})
    	return error;
    });
    en fait le error = false dans la boucle n'a pas d'influence sur le error de retour

  2. #2
    Membre chevronné
    Avatar de Darkaurora
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

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

    Informations forums :
    Inscription : Mai 2010
    Messages : 382
    Billets dans le blog
    1
    Par défaut
    erreur courante...

    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
     
    $.get("verifform.php?menu="+$("#menu option:selected").val(), function(data){
    	value=data.split('-');
    	for(i=0;i<value.length;i++)
    	{
    		if(i==0)
    			value[i] = value[i].substring(2);
    		if($("#"+value[i]+" option:selected").val() == "")
    		{
    			alert("Veuillez choisir votre " +value[i]);
    			error = false;
    		}
    	}	
    })
    return error;
    $.get == Ajax == Asynchrone == Pas possible de commencer un traitement avant la requête Ajax et tenter de la poursuivre après avoir reçu le résultat

    Concrètement ton code actuel fait quelque chose comme:

    1) lorsque je submit mon form j'initialise une variable error = true
    2) Je fait une requête Ajax
    3) Je retourne ma variable error
    4) Ma requête ajax s'est bien effectué alors j'exécute le code du callback

    et cela se passera comme cela dans 99.9999% des cas, en fait si tu arrives à avoir une requête ajax quasi synchrone joue au loto

  3. #3
    Membre émérite Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Par défaut
    Merci, tout marche en mode synchrone !!

    Le pire c'est que j'ai déja recontrer ce problème !

    VOici mon code corrigé:
    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
    $('#formselect').submit(function() {
    	var error = true;
    	$.ajaxSetup({async: false});
    	$.get("verifform.php?menu="+$("#menu option:selected").val(), function(data){
    		value=data.split('-');
    		for(i=0;i<value.length;i++)
    		{
    			if(i==0)
    				value[i] = value[i].substring(2);
    			if($("#"+value[i]+" option:selected").val() == "")
    			{
    				alert("Veuillez choisir votre " +value[i]);
    				error = false;
    			}
    		}
    	})
    	$.ajaxSetup({async: true});	
    	return error;
    });

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

Discussions similaires

  1. requete avec en retour true ou false
    Par zarzar4 dans le forum Développement
    Réponses: 6
    Dernier message: 19/11/2008, 17h16
  2. Débutant .. Champ True à rendre False
    Par trinity4you dans le forum Access
    Réponses: 17
    Dernier message: 27/10/2006, 18h03
  3. Réponses: 1
    Dernier message: 03/03/2006, 13h07
  4. [VB]retour d'un niveau d'erreur
    Par Delphi-ne dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 13/10/2005, 15h54
  5. probleme affichage visible = true ou false
    Par Hitmaaan dans le forum Access
    Réponses: 4
    Dernier message: 29/09/2005, 14h17

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