Salve. Questo è il codice javascript delle funzioni di appoggio che uso per far funzionare AJAX. Da notare che questa funzione si adatta sia per il GET sia per il POST.
La funzione ajax che richiamo è ajaxthis(elementz,nomeFile,tipoconn) . dove elementz è l'ID dell'elemento dove verrà eseguito l'innerHTML. nomeFile è il nome del file da richiamare con ajax e tipoconn è GET o POST.
Il problema è il seguente: su IE va tutto perfetto. La form funziona e restituisce correttamente il risultato. Su FF invece ciò non succede. Clicco su Invio e non succede nulla. Dopo numerosi test ho raggiunto la conclusione che su Firefox non vengano trasmesse le variabili del FORM. Non so perchè. Per questo chiedo il vostro aiuto! Grazie fin da ora! Saluti


// funzione per assegnare l'oggetto XMLHttpRequest
// compatibile con i browsers più recenti e diffusi
function assegnaXMLHttpRequest() {

// lista delle variabili locali
var
// variabile di ritorno, nulla di default
XHR = null,

// informazioni sul nome del browser
browserUtente = navigator.userAgent.toUpperCase();


// browser standard con supporto nativo
// non importa il tipo di browser
if(typeof(XMLHttpRequest) == "function" || typeof(XMLHttpRequest) == "object")
{ XHR = new XMLHttpRequest(); }

// browser Internet Explorer
// è necessario filtrare la versione 4
else if(
window.ActiveXObject &&
browserUtente.indexOf("MSIE 4") < 0
) {

// la versione 6 di IE ha un nome differente
// per il tipo di oggetto ActiveX
if(browserUtente.indexOf("MSIE 5") < 0)
XHR = new ActiveXObject("Msxml2.XMLHTTP");

// le versioni 5 e 5.5 invece sfruttano lo stesso nome
else
XHR = new ActiveXObject("Microsoft.XMLHTTP");
}

return XHR;
}



// funzione di caricamento testo,
// accetta una stringa contenente
// il nome di un file da leggere
function ajaxthis(elementz,nomeFile,tipoconn) {

// assegnazione oggetto XMLHttpRequest
ajax = assegnaXMLHttpRequest();

// assegnazione elemento del documento
elemento = document.getElementById(elementz);


if (document.forms[0] > "") {

stringa = PreparaDati();
}
else
{ stringa = ""; }


ajax.open(tipoconn, nomeFile, true);
ajax.onreadystatechange = function() {

// verifica dello stato
if(ajax.readyState == 4) {
// verifica della risposta da parte del server
if(ajax.status == 200)
// operazione avvenuta con successo
elemento.innerHTML = ajax.responseText;
else {
// errore di caricamento
elemento.innerHTML = "Impossibile effettuare l'operazione richiesta.
";
elemento.innerHTML += "Errore riscontrato: " + statusText[ajax.status];
}
}
}

// impostazione richiesta asincrona in GET o POST
// del file specificato

if (tipoconn == "get") {
ajax.setRequestHeader("Connection", "close");
}
else {
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
ajax.setRequestHeader("Content-length", stringa.length);
ajax.setRequestHeader("Connection", "close");
}

if (tipoconn == "get") {
ajax.send(null);
}
else {
ajax.send(stringa);
}


}

function PreparaDati(){
stringa = "";
var form = document.forms[0];
var numeroElementi = form.elements.length;

for(var i = 0; i < numeroElementi; i++){
if(i < numeroElementi-1){
stringa += form.elements[i].name+"="+escape(encodeURIComponent(form.elements[i].value))+"&";
}else{
stringa += form.elements[i].name+"="+escape(encodeURIComponent(form.elements[i].value));
}
}
return stringa;
}



Questo è invece il form:

<form name='iscrizione' method='post' action='trucchi_ajax_ricerca.php' onsubmit="ajaxthis('ricerca','trucchi_ajax_ricerca .php','post'); return false;" style='padding: 0px; border: 0px; margin: 0px;'>

<table width='100%' style='border-left: 1px solid black; border-top: 1px solid black;'>
<tr>
<td class='trucchi_charts forum_cells_impl' width='100'> Nome del Gioco </td>
<td class='trucchi_charts forum_cells'>
<input type='text' name='nome' class='form_cp' style='margin: 0px; width: 400px; height: 20px; font-size: 18px;' onkeyup="Verifica();" />


</td>
</tr>
<tr>
<td class='trucchi_charts forum_cells_impl' width='100'> Invia </td>
<td class='trucchi_charts forum_cells'>
<input type='Submit' id='submit' name='submit' value='Invia' class='form_cp forum_cells_impl' style='margin: 0px; width: 400px;' onmouseover="Verifica();" />
</td>
</tr>
</table>
</form>
Tralascio il file 'trucchi_ajax_ricerca.php' in quanto sono più che sicuro, dopo numerosi test, che non sia responsabile del bug.