ho controllato meglio e mi sono accorto che...
codice:
// crea l'oggetto per la comunicazione AJAX con il server
function crea_http_req() {
var req = false;
if (typeof XMLHttpRequest != "undefined")
req = new XMLHttpRequest();
if (!req && typeof ActiveXObject != "undefined") {
try {
req=new ActiveXObject("Msxml2.XMLHTTP");
} catch (e1) {
try {
req=new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
try {
req=new ActiveXObject("Msxml2.XMLHTTP.4.0");
} catch (e3) {
req=null;
}
}
}
}
if(!req && window.createRequest)
req = window.createRequest();
if (!req) alert("Il browser non supporta AJAX");
return req;
}
// l'oggetto per comunicare con il server
var http_req = crea_http_req();
// invia i dati del form al server
function invia_dati() {
var dati_post = "el=" + encodeURIComponent( document.getElementById("el").value);
http_req.onreadystatechange = gestisci_risposta;
http_req.open('POST', url, true);
http_req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
http_req.setRequestHeader("Content-length", dati_post.length);
http_req.setRequestHeader("Connection", "close");
http_req.send(dati_post);
}
questa questo codice funziona alla perfezione, questo sotto invece in mozzilla firefox 2 va in IE 6 e IE7 no...
codice:
// recupero e gestisco la risposta inviata dal server
function gestisci_risposta() {
if(http_req.readyState == 4) {
if (http_req.status != 200) {alert("ERRORE NELLA TRASMISSIONE DATI!" + "\n\nreadyState:"+ http_req.readyState +"\nstatus: "+http_req.status + "\nstatusText: " + http_req.statusText + "\n\nheaders:\n"+ http_req.getAllResponseHeaders()); return;} // ho aggiunto questo ora grazie a Pietro09
var esito = http_req.responseText;
var message = esito;
switch (esito) {
case '1':
document.getElementById("output").innerHTML = message;
// etc.
break;
case '2':
document.getElementById("output").innerHTML = message;
// etc.
break;
case '3':
document.getElementById("output").innerHTML = message;
// etc.
break;
case '4':
document.getElementById("output").innerHTML = message;
// etc.
break;
case '5': // Dati inviati a email
MostraMenu();
document.getElementById("output").innerHTML = message;
// etc.
break;
default: // Nessuna risposta
document.getElementById("output").innerHTML = message;
// etc.
break;
}
}
}
non riesco a capire il perchè!