ho controllato meglio e mi sono accorto che...
questa questo codice funziona alla perfezione, questo sotto invece in mozzilla firefox 2 va in IE 6 e IE7 no...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); }
non riesco a capire il perchè!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; } } }

Rispondi quotando