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;
}
}