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 :

confirm() ne renvoit rien


Sujet :

JavaScript

  1. #1
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut confirm() ne renvoit rien
    Salut,

    Dans ma fonction j'ai ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    else {
       alert("ok");
    }
    Quand le script est sensé rentrer dans le else, l'alert s'execute bien. Mais si à la place du alert je mets:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (confirm("Confirmez-vous l'achat? Cliquez sur OK pour continuer."))
          return true;
       else
          return false;
    Il ne se passe rien, aucune erreur...
    Quel est le problème?
    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return confirm("Confirmez-vous l'achat? Cliquez sur OK pour continuer.")

  3. #3
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Et si tu décomposes ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    .....
    var Reponse = window.confirm("Confirmez-vous l'achat? Cliquez sur OK pour continuer.");
    if (Reponse)
    {
    return true;
    }
    else
    {
    return false;
    }
    .....

  4. #4
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Aucune des deux solutions ne fonctionne mais je crois savoir d'ou provient l'erreur: ce code concerne AJAX, et j'appelle une fonction concernant AJAX qui a son tour contient une fonction (en fonction de la réponse). En ce moment je fais return true/false dans cette fonction, mais ça ne retourne pas la fonction entière si?

    Comment faire?
    Merci

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    tu m'as encore l'air d'avoir inventé une usine à gaz ...

    un petit bout de code nous aiderait à comprendre...

  6. #6
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Lol ^^ Ok voila le code de la fonction (qui est appelée à la soumission 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    function confirm()
       {
          var data = "";
          var http_request = false;
          var count = document.getElementsByName("equipe[]").length;
     
          /* Listage des valeurs des champs existants */
          for (i = 0; i < count; i++)
             {
                data = data + "equipe[]=" + document.getElementsByName("equipe[]")[i].value + "&";
             }  
     
          data = data + "op=checkTeam";    
     
          /* Création de l'instance XMLHTTP */
          if (window.XMLHttpRequest) 
             http_request = new XMLHttpRequest();   
          else if (window.ActiveXObject)
             http_request = new ActiveXObject("Microsoft.XMLHTTP");   
          else {
             alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");   
             return false;   
          }  
     
          /* Erreur de création */
          if (!http_request)
             {
                alert('Abandon :( Impossible de créer une instance XMLHTTP');
                return false;
             }
     
          /* Envoi des donnees */
          http_request.open("POST", "includes/do.php", true); 
          http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");  
          http_request.send(data);
     
          /* Requête lors de la fin du traitement */
          http_request.onreadystatechange = function() {
             if (http_request.readyState == 4) {
                var isError = false;
                var textError = [];
                tmp = http_request.responseText.split(':');
                document.getElementById("blockError").style.display = "none";
                document.getElementById("textError").innerHTML = "";
                for(u=0; u < tmp.length; u++) {
                   if (tmp[u] == "EMPTY") {
                      isError = true;
                      textError[textError.length] = (parseInt(u) + 1) + ". Une équipe n'a pas été nommée.";
                   }
                 else if (tmp[u] == "SYNTAX") {
                      isError = true;
                      textError[textError.length] = (parseInt(u) + 1) + ". Seuls les chiffres, lettres, points, underscores et tirets sont autorisés.";
                   }
                }
                if (isError) {
                   for(i = 0; i < textError.length; i++) {
                      var content = document.getElementById("textError").innerHTML;
                      document.getElementById("textError").innerHTML = content + textError[i] + "<br />";
                   }
                   document.getElementById("blockError").style.display = 'block';
                   /* ERREUR: RETURN COMPLETMENT FALSE */
                   return false;
                }
                else {
                   /* OK: CONFIRMATION DEMANDEE */
                   return confirm("Confirmez-vous l'achat? Cliquez sur OK pour continuer.");
                }
             }
          }
          /* Retourne false pour pas soumettre le formulaire */
          return false;
       }
    Je suis pas un grand programmeur javascript alors soyez indulgent ^^
    J'ai tout mis sans trier pour que vous voyiez, dites moi si vous voulez que l'enlève le superflu
    Merci

  7. #7
    Membre confirmé Avatar de Mobius
    Profil pro
    none
    Inscrit en
    Avril 2005
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : none

    Informations forums :
    Inscription : Avril 2005
    Messages : 463
    Points : 558
    Points
    558
    Par défaut
    meme problème que pour un autre sujet auquel j'ai répondu ce matin !

    fonctionnement Ajax probleme

    Merci de bien vouloir lire un minimum les autres post !!

  8. #8
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Oui désolé. Bon alors j'ai mis du synchrone tout comme du asynchrone ça ne change rien.
    Sinon je ne comprends pas comment retourner un résultat de ma fonction princiaple sans retourner de résultat à partir de la fonction OnReadyStateChange...

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    non et puis nommer une fonction confirm ... c'est franchement moyen !

  10. #10
    Membre confirmé Avatar de Mobius
    Profil pro
    none
    Inscrit en
    Avril 2005
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : none

    Informations forums :
    Inscription : Avril 2005
    Messages : 463
    Points : 558
    Points
    558
    Par défaut
    comme ca c'est pas mieu ?
    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 confirm()
    {
       var resultat = false;
     
       if (window.XMLHttpRequest) 
          http_request = new XMLHttpRequest();   
       else if (window.ActiveXObject)
          http_request = new ActiveXObject("Microsoft.XMLHTTP");   
     
       /* Envoi des donnees */
       http_request.open("POST", "test.html", false); 
       http_request.send(null);
     
       //traitement du résultat 
       alert(http_request.responseText);
       if(http_request.responseText != null) resultat = true;
     
       return resultat;
    }

  11. #11
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Citation Envoyé par SpaceFrog
    non et puis nommer une fonction confirm ... c'est franchement moyen !
    Rahh j'ai pas été malin là... finalement j'ai aussi réussi pour le return: en fait j'en ai pas mis et j'ai tout le temps retourné false; et quand il confirme je fais directement form.submit().

    Merci

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

Discussions similaires

  1. [AJAX] responseText ne renvoit rien
    Par oceane751 dans le forum AJAX
    Réponses: 1
    Dernier message: 20/04/2012, 01h06
  2. [SQL Server] Fonction qui ne renvoit rien !
    Par Godia dans le forum Langage SQL
    Réponses: 1
    Dernier message: 02/07/2008, 11h32
  3. Réponses: 1
    Dernier message: 09/11/2007, 09h37
  4. autofilter tester que la selection ne renvoit rien
    Par amaury57 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/06/2007, 13h53
  5. [IB][IBQUERY][D7 pro] Procédure stockée ne renvoit rien
    Par N1bus dans le forum Bases de données
    Réponses: 7
    Dernier message: 16/10/2004, 23h33

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