...pensavo fosse la cosa più semplice ed invece mi sono infognato....
premetto che mi sto muovendo per le prime volte con ajax e forse
faccio qualche errore nella comprensione delle chiamate asincrone comunque sia
la mia idea era di avere la funzione script() attivata dall'inserimento di un valore in un campo testuale.questa scatena n Richieste che mi compilano altri div
mycodcli è il codice clienteche inserisco nella input
elementoid e il div dove il risultato della pagina ajax deve finire.
per funzionare funziona tutto, ma la prima chiamata a Richiesta() ogni tanto mi da come risultato "loading..." e non carica pù nulla...io credevo che usando XMLHTTP.readyState
lui continuasse a provare sino a che non sentisse un risultato invece pare che se trova
XMLHTTP.readyState == 1 non ci prova pìu....
altro particolare: facendo il debug quindi passo passo probabilmente ha più tempo e in "loading..." non arriva quasi mai....
ma secondo voi il problema è il tempo tra le due richieste? sugerrimenti errori palesi che compio....
javascript:void(0);
Confused
codice:var XMLHTTP,mycodcli,myresponsabile,mymail; function script() { mycodcli=document.getElementById("Cliente").value; Richiesta(mycodcli,"Mail","CN.CLI") Richiesta(mycodcli,"Responsabile","CN.COL") var e2 = document.getElementById("MailResponsabile"); } function Richiesta(Stringa,elementoid,TipoParametro) { if (Stringa.length > 0) { //alert(TipoParametro); var url = "ajax.asp?nome=" + Stringa.toUpperCase() + "&tipoparametro=" + TipoParametro.toUpperCase(); XMLHTTP = RicavaBrowser(function() {CambioStato(elementoid,TipoParametro)}); XMLHTTP.open("GET", url, true); XMLHTTP.send(null); } else { document.getElementById(elementoid).innerHTML = ""; } } function CambioStato(elemento,TipoParametro) { if (XMLHTTP.readyState == 1) { var R = document.getElementById(elemento); R.innerHTML='loading...'; } if (XMLHTTP.readyState == 4) { var R = document.getElementById(elemento); R.innerHTML=TipoParametro+XMLHTTP.responseText ; } } function RicavaBrowser(QualeBrowser) { if (navigator.userAgent.indexOf("MSIE") != (-1)) { var Classe = "Msxml2.XMLHTTP"; if (navigator.appVersion.indexOf("MSIE 5.5") != (-1)); { Classe = "Microsoft.XMLHTTP"; } try { OggettoXMLHTTP = new ActiveXObject(Classe); OggettoXMLHTTP.onreadystatechange = QualeBrowser; return OggettoXMLHTTP; } catch(e) { alert("Errore: l'ActiveX non verrà eseguito!"); } } else if (navigator.userAgent.indexOf("Mozilla") != (-1)) { OggettoXMLHTTP = new XMLHttpRequest(); OggettoXMLHTTP.onload = QualeBrowser; OggettoXMLHTTP.onerror = QualeBrowser; return OggettoXMLHTTP; } else { alert("L'esempio non funziona con altri browser!"); } }

Rispondi quotando