Io ho due funzioni e in una eseguo l'altra assegnando poi a una variabile il valore di ritorno dell'altra funzione, solo che non va. Questo è il codice:
codice:
function inviaPOST(pagina, dati) {
	if (ajax) {
		// inizializzo la richiesta in post
		ajax.open("post", pagina, true);
		
		// imposto il giusto header
		ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");
		ajax.setRequestHeader("connection", "close")
		
		// effettuo la richiesta inviando i dati formati da coppie chiave-valore
		// dati = escape(dati);
		ajax.send(dati);
		
		ajax.onreadystatechange = function() {
			if(ajax.readyState === 4) {
				if(ajax.status == 200) {
					return ajax.responseText;
				}else{
					alert("Operazione fallita, errore numero " + ajax.status);
					return null;
				}
			}
		}
	}
}


function controlloErrore(id_elem, id_span) {
	var risposta = null;
	risposta = inviaPOST('controllo.php', 'azione='+id_elem + '&' + id_elem+'='+prendiElementoDaId(id_elem).value);
	if (risposta) {
		if (risposta != '') {
			prendiElementoDaId(id_elemento).className = 'textbox2';
			cambiaTesto(id_span, risposta);
		}else{
			prendiElementoDaId(id_elemento).className = 'textbox1';
			cambiaTesto(id_span, '');
		}
	}
	return risposta;	
}
La prima funzione la esegue senza problemi e se io metto prima di "return ajax.responseText;" un alert mi mostra correttamente il valore, ma se invece io metto alert(risposta) nella seconda funzione dopo "risposta = inviaPOST('controllo.php', 'azione='+id_elem + '&' + id_elem+'='+prendiElementoDaId(id_elem).value);" allora mi appare "undefined".

Come mai la prima funzione non restituisce correttamente il valore che poi viene assegnato a "risposta"?