Ciao a tutti, ho due funzioni:
quella principale imposta() e quella secondaria controlla_cloni() che viene richiamata dalla prima e deve ritornare un valore frutto di una chiamata ajax. Il mio problema è che il valore di ritorno è undefined. Penso sia legato allo scope della variabile 'risposta' che comunque si trova in una funzione dentro la funzione....qualcuno può aiutarmi? Vi posto il codice di entrambe le funzioni.
Grazie come sempre....il vostro aiuto è veramente prezioso.
function controlla_cloni(anno,my_url)
{
var str_id_frase=document.getElementById('dba_id_frase ').value;
var str_data=document.getElementById('dba_data').value ;
var valore='';
str_data=data_mysql(str_data);
query="SELECT a.id_frase, COUNT(a.id_frase) AS conta_frase,a.data,f.* FROM t_avvisi"+anno+" AS a RIGHT OUTER JOIN t_frase"+anno+" AS f ON ( a.id_frase = f.id_frase ) where a.id_frase="+str_id_frase+" and a.data='"+str_data+"' group by (f.id_frase) having conta_frase>0";
//imposta la variabile message che contiene i parametri per la richiesta ajax
message="str_query="+encodeURIComponent(query);
//richiesta ajax
if (window.XMLHttpRequest)
{
request=new XMLHttpRequest();
}else{
request=new ActiveXObject("Microsoft.XMLHTTP");
}
if (request)
{
request.open("POST",my_url);
request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
request.onreadystatechange=
function ()
{
if (request.readyState == 4)
{
var risposta=request.responseText;
if(risposta=='')
{
risposta=0
}else{
risposta=1
}
return(risposta);
}
}
//continua ad inviare la richiesta finchè il readyState non è = 4
request.send(message);
}else{
alert("Il tuo browser non è abilitato per l'utilizzo di ajax");
}
}
function imposta()
{
var check=controlla_cloni(anno,my_url);
if(check==1)
{
alert('Impossibile proseguire');
return;
}
}