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 :

Fonction qui renvoi bool en ajax [AJAX]


Sujet :

jQuery

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2002
    Messages : 744
    Par défaut Fonction qui renvoi bool en ajax
    bonjour tout le monde,
    voici j'ai essayé de faire une fonction en ajax qui renvoie un bool 0 ou 1
    mais elle renvoie rien
    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
     
    (function($) {
        emailExist = function(jsemail) {
            var jsEmailExist;
                jQuery.ajax({
                    type: "POST",
                    dataType: "bool",
                    data: {
                        email: jsemail
                    },
                    url: 'emailExist.php',
                    success: function(data, textStatus, xhr)
                    {
                        alert();//jsEmailExist = xhr.responseText;
                    },
                });
     
            return jsEmailExist;
        };
    })(jQuery)
    voici comment jai fait appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $(document).ready(function() {
         ......
        $('#frm_signUp #signup-email').blur(function() {
                   if (validateEmail(jsemail)) {
    			   ..........
    contenu du fichier emailExist.php

  2. #2
    Membre averti
    Homme Profil pro
    Amateur
    Inscrit en
    Octobre 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Amateur
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2011
    Messages : 37
    Par défaut
    Bonjour,

    Je ne suis pas un pro mais je pense d'après la doc que Bool ne fait pas partie des possibilités de DATA Type, voir https://api.jquery.com/jQuery.ajax/

    Je ne sais pas si ça vous aidera mais bon..

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2002
    Messages : 744
    Par défaut
    merci quand même pour votre réponse,
    auparavant j'ai pas mis datatype
    le fichier php ne contient que la valeur 1, que j'essaye de récupérer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jsEmailExist = xhr.responseText;
    quand je fais alert sur cette variable dans success il l'affiche,
    mais quand j'essaye un alert a extérieure il affiche undifined
    si je pourais juste récuperer cette valeur à l’extérieure le problême sera résolu

  4. #4
    Membre averti
    Homme Profil pro
    Amateur
    Inscrit en
    Octobre 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Amateur
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2011
    Messages : 37
    Par défaut
    Pourquoi ne pas declarer une variable "globale" en dehors de $.ajax et lui affecter ton retour dans le success? Je ne sais pas si c est possible mais dans beaucoup d autres language c est possible donc ce serait peut être une piste à suivre

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2002
    Messages : 744
    Par défaut
    merci,
    non, je viens de l'essayer ça marche pas

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 212
    Par défaut
    Bonjour,
    attention à la fausse route...
    Un classique AJAX : utiliser les données au bon moment !

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2002
    Messages : 744
    Par défaut
    merci pour votre réponse,
    ça m'a échappé
    je vais suivre ce raisonnement et modifier la fonction et je vais voir si je règle le problème
    encore merci.

  8. #8
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2002
    Messages : 744
    Par défaut
    j'ai trouvé une solution mais elle n'est pas optimal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    success: function(data, textStatus, xhr){
        if (xhr.responseText == 1) {
            // 1 l'email existe donc erreur
            $("#frm_signUp span.plate-input").removeClass("waiting");
            $("#frm_signUp span.plate-input").addClass("plate-signUp-fail");
            $("#form").submit();
    }
    ......
    le problème l'evenement submit n'envoie pas tous les champs, il en reste le bouton de type submit
    j'aurais aimé d'envoyer le formulaire avec tous les champs du formulaire y compris le bouton
    avec ce genre decode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $('#btn_signUp').click(function() {
    return true;

  9. #9
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 212
    Par défaut
    le problème l'evenement submit n'envoie pas tous les champs, il en reste le bouton de type submit
    si ton INPUT type submit possède un name alors il fera également partie des paramètres transmis.

  10. #10
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2002
    Messages : 744
    Par défaut
    merci infiniment pour votre réponse,
    je devrais peut être changer la balise button en input de type submit.
    je vais essayer
    encore merci.

  11. #11
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2002
    Messages : 744
    Par défaut
    ça marche pas :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="submit" name="signUpSubmit" value="S'inscrire" id="btn_signUp" class="floatRight" autocomplete="off">
    j'ai vérifié les post avec firebug

  12. #12
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2002
    Messages : 744
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $("#frm_signUp").submit();
    return false
    finalement j'ai mis return false après submit, c'est lui qui a causé le problème
    je l'ai enlevé et ça marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(valid==true){
       $("#frm_signUp").submit();
       return true;
    } else return false;
    comme ça le name du boutton est envoyé

    merci pour vos aides

  13. #13
    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 : 55
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    l'evenement submit n'envoie pas tous les champs
    Si, encore heureux !

    Seulement, si tu n'appuies pas sur le bouton, il n'y a aucune raison pour que sa valeur soit envoyée !
    C'est tout à fait logique : le rôle d'un bouton submit ayant une valeur à envoyer est de savoir s'il a été cliqué, voire lequel a été cliqué (en cas de plusieurs submit pour le même formulaire), donc si le formulaire renvoie toutes les valeurs, ça ne sert plus à grand chose !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, 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
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

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

Discussions similaires

  1. Fonction qui renvoie un tableau?
    Par elm dans le forum C
    Réponses: 23
    Dernier message: 21/12/2005, 12h44
  2. Réponses: 31
    Dernier message: 25/10/2005, 18h26
  3. Fonction qui renvoie erreur dans mon état
    Par Daniel MOREAU dans le forum Access
    Réponses: 1
    Dernier message: 20/10/2005, 12h40
  4. [bioinfo] fonction qui renvoie chaîne à autre fonction
    Par perlaud dans le forum Bioinformatique
    Réponses: 11
    Dernier message: 16/07/2004, 15h06
  5. [VB6] Comment faire une fonction qui renvoie 2 résultats
    Par tazarine dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 15/01/2004, 00h13

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