Bonjour,
J'ai un souci avec un script XMLHttpRequest et le navigateur Chrome :
La requête au module php s'exécute bien (le mail est envoyé par sendcontact.php), mais je n'ai ni message d'attente (normalement chargé dans une div, ni de message de retour avec Chrome...
Tout fonctionne bien avec IE et FF, mais impossible avec Chrome !
Pouvez vous me venir en aide ?
Merci d'avance.
Voici quelques lignes de script :
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 function getXMLHttpRequest() { var xhr = null; if(window.XMLHttpRequest || window.ActiveXObject) { if(window.ActiveXObject) { try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { xhr = new XMLHttpRequest(); } } else { alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest..."); return null; } return xhr; }
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 function sendData_contact() { // var xhr = getXMLHttpRequest(); if(xhr && xhr.readyState != 0) { xhr.abort(); } xhr.onreadystatechange = function() { var loading = document.getElementById('loading'); if(xhr.readyState == 4) { if (xhr.status != 200) { loading.innerHTML = "<p>Erreur</p>"; } else { loading.innerHTML = xhr.responseText; } } else { loading.innerHTML = 'Veuillez patienter, s.v.p<br><b>Envoi de votre message en cours ...</b><br><img src="/Fichiers/loading/loading.gif" alt="">'; } } var Params="" var i=0; var Elt; while (Elt=document.forms['post'].elements[i] ){ if(Elt.value && Elt.type!='submit'){Params+="&"+Elt.name+"="+Elt.value;} i++; } Params=Params.replace(/^&/,"") // xhr.open("POST", "../sendcontact.php", true); xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xhr.send(Params); }
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <? echo'<div id="loading" align="center"><center>'; ... ...... reste du formulaire echo'</center></div>'; ?>
Partager