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 :

L'utilisateur n'a pas le temps de lire le message


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 242
    Par défaut L'utilisateur n'a pas le temps de lire le message
    Bonjour,

    A partir du formulaire suivant : http://vente-camping-gsignature.com/...camping-FR.php j'envoie un mail à l'agence immobilière avec les coordonnées du client lors que le formulaire est bien rempli.

    Pour information, l'agence reçoit bien le mail.

    Le script JS pour faire cela est le suivant :

    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
    <script type='text/javascript'>
               
            $(document).ready(function()
            {
                $('#boutonSubmit').click(function()
                {
                    afficher('ENVOI DU FORMULAIRE EN COURS', 0);
                    
                       var page = $('#idForm').attr('action');
                       var methode = $('#idForm').attr('method');
                       
                       $.ajax
                     ({
                         url: page,
                         type: methode,
                         cache: false,
                         async: false,
                         timeout: 4000,
                         data: $('#idForm').serialize(),
                         success: function(data)
                         {
                             // var obj = data.getElementsByTagName('message');
                             // var msg2 = obj[0].firstChild.nodeValue;
                             
                            var msg = $(data).find("message").text();                 
                             afficher(msg, 1);
                             // window.setTimeout(afficher(msg, 1), 2000);
                         },
                         error: function (XMLHttRequest, textStatus, errorTrows)
                         {
                             afficher("ERREUR : Votre demande n'a pas été envoyée. Veuillez recommencer. Merci.", 1);
                         }
                     });
                     
                     return false;
                   });
               });
        
               function afficher(data, status) {
                   afficherBouton(status);
                   // alert(data);
                   $('#message').empty();
                   $('#message').append(data);
               }
               
               function afficherBouton(status) {
                   if (status == 1)
                   {
                       $('#boutonSubmit').css('display','block');
                   }
                   else
                   {
                       $('#boutonSubmit').css('display','none');
                   }
               }
               
            </script>
    Quand le code PHP renvoi un message pour indiquer au client si cela s'est correctement déroulé ou non, ce message ne s'affiche pas. Il semble que AJAX renvoie directement la main au navigateur et donc le message est effacé immédiatement après son affichage. Donc l'utilisateur n'a pas le temps de visualiser ce message.

    J'ai bien ajouter le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    window.setTimeout(afficher(msg, 1), 2000);
    
    ... mais cela ne fait rien de particulier.

    Comment faire alors ?

    Merci d'avance.

    A+

  2. #2
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 242
    Par défaut
    Après tests complémentaires, le message est vide, c'est donc normal qu'il ne s'affiche pas.

    Il semble donc que soit le script PHP n'envoie pas bien le message :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    ...
    $reponse = "<?xml version='1.0' encoding='ISO-8859-1' ?>\n";
    $reponse .= "<message>";
    $reponse .= $message;
    $reponse .= "</message>";
     
    header('Content-Type: text/xml;charset=ISO-8859-1');
    echo $reponse;
    exit();
    ?>
    ...soit que la fonction AJAX ne sache pas décrypter ce message.

    Qu'en pensez-vous ?

    A+

  3. #3
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    il faut preciser dans ton ajax le type de retour attendu ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 242
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    il faut preciser dans ton ajax le type de retour attendu ...
    Merci pour ta réponse, mais comment préciser cela ? Par défaut, ce n'est pas du XML ?

    Merci pour ton aide.

    A+

  5. #5
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 242
    Par défaut
    Je viens d'essayer les 3 valeurs suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    dataType: 'xml'
    dataType: 'html'
    dataType: 'script'
    ... mais le message n'est pas lu.

    Par contre, si je remplace le message de type chaine par un message de type entier, j'arrive à lire le message.

    Pourquoi ?

    A+

  6. #6
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. Utilisateur loggé ou pas
    Par Eco dans le forum Struts 1
    Réponses: 5
    Dernier message: 06/03/2007, 15h49
  2. [TP] Pas le temps de voir les résultats à l'écran
    Par bonomsoleil dans le forum Turbo Pascal
    Réponses: 5
    Dernier message: 08/02/2006, 22h49
  3. L'utilisateur n'est pas asoocié à une connexion SQLServer...
    Par NotANumber dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 27/01/2006, 15h27
  4. [Début.C#] Je n'ai pas le temps de voir se qui s'affiche!!!!
    Par sylvain_c42 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 02/06/2005, 16h48

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