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+