Citat:
Originally posted by Urme@Oct 23 2007, 16:19
Antar att det blir att läsa på mer om Ajax, kanske köra nåt framework istället för att göra allt från grunden.
|
Lite påläsning för Ajax skadar säker inte…
Annars är det ganska lite du behöver göra ordna en funktion som sparar det som ska testas i en global variabel och testa om just den varianten har testats för att köa det hela.
Kod:
var epost = "";
var wait = false;
function nybokstav(x) {
epost=x;
checkEmail();
}
Funktionen nybokstav kallar du vid onkeyup.
Kod:
function checkEmail() {
if(req.readystate==0 || req.readystate==4) { //kontrollerar att antingen har ingen req ännu skickats eller så är den färdig
req.open("GET", "includes/ajax/newsubscriber.ajax.php?action=checkemail&email="+escape(epost), true);
req.onreadystatechange = handleCheckEmailResp;
req.send(null);
} else {
wait = true;
}
}
I handleCheckEmailResp kan du sedan kontrollera om du fått något svar om i så fall skicka nästa request:
Kod:
function handleCheckEmailResp() {
if(req.readyState == 4 && req.status==200) { //om filen är klar och inga fel uppstått
…
//bearbeta svaret (som du redan har i din kod)
…
if(wait) { // Vi har fått svar på den första requesten och kan nu behandla vidare
checkEmail();
wait = false;
}
}