Salve a tutti,
sto effettuando delle prove in Javascript e non riesco a far restituire il valore "true" o "false" alla funzione checkData().
Cosa sbaglio?
Mi sembra di aver definito una variabile globale err, inizializzata a false che viene cambiata in caso di necessità dalla funzione updatepage().
Posto il codice:
codice:function checkData() { var xmlHttpReq = false; var self = this; //Url da richiamare var strURL="registrationCheck" var err=false; // Mozilla/Safari if (window.XMLHttpRequest) { self.xmlHttpReq = new XMLHttpRequest(); } // IE else if (window.ActiveXObject) { self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); } self.xmlHttpReq.open('POST', strURL, true); self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); self.xmlHttpReq.onreadystatechange = function() { if ( (self.xmlHttpReq.readyState == 4) ){ //Aggiorna solo se il server restituisce il codice 200 (Ok) if(self.xmlHttpReq.status == '200') { //updatepage Modifica la variabile err updatepage(self.xmlHttpReq.responseText); } else //Errore nella richiesta { var str='<span class="red">'; str+="Impossibile contattare il server. Il server è fuori servizio oppure non sei connesso ad Internet"; str+='</span'; updatepage(str); } } } self.xmlHttpReq.send(getquerystring()); return err; } function updatepage(str){ //Divida la stringa in st1...str4 var stringhe=str.split('#',6); var ris= new Array("result1","result2","result3","result4"); var i=0; for (i=0; i< ris.length; i++) { document.getElementById(ris[i]).innerHTML = stringhe[i]; } if (stringhe[4]=='true') { err=true; } else { err=false; } }

Rispondi quotando