Kod
var ajax_request=false;
function AjaxConnect(url,data)
{
//var datex=data.login.value;
ajax_request=false;
if(window.XMLHttpRequest)
{
ajax_request=new XMLHttpRequest();
if(ajax_request.overrideMimeType)
{
ajax_request.overrideMimeType('text/xml');
}
}
else if(window.ActiveXObject)
{
try
{
ajax_request=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
ajax_request=new AxtiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
//false
}
}
}
if(!ajax_request)
{
document.getElementById("log_msg").innerHTML ='Nie można wywołać AJAX';
return false;
}
url=url+data;
ajax_request.onreadystatechange=wynik_form;
ajax_request.open('POST',url,true);
ajax_request.send(null);
}
function wynik_form()
{
if(ajax_request.readyState==4)
{
if(ajax_request.status==200)
{
alert("1");
}
else
{
document.getElementById("log_msg").innerHTML ='Błąd zapytania AJAX';
}
}
}
function waliduj_form()
{
if(login_form.logowanie.value!='')
{
this.sprawdz=0;
var formularz="?form=login&login="+login_form.login.value+"&password="+login_form.password.value;
AjaxConnect('walidacja_form.php',formularz);
alert("2");
}
else
{
alert('Zly form');
}
}
function AjaxConnect(url,data)
{
//var datex=data.login.value;
ajax_request=false;
if(window.XMLHttpRequest)
{
ajax_request=new XMLHttpRequest();
if(ajax_request.overrideMimeType)
{
ajax_request.overrideMimeType('text/xml');
}
}
else if(window.ActiveXObject)
{
try
{
ajax_request=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
ajax_request=new AxtiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
//false
}
}
}
if(!ajax_request)
{
document.getElementById("log_msg").innerHTML ='Nie można wywołać AJAX';
return false;
}
url=url+data;
ajax_request.onreadystatechange=wynik_form;
ajax_request.open('POST',url,true);
ajax_request.send(null);
}
function wynik_form()
{
if(ajax_request.readyState==4)
{
if(ajax_request.status==200)
{
alert("1");
}
else
{
document.getElementById("log_msg").innerHTML ='Błąd zapytania AJAX';
}
}
}
function waliduj_form()
{
if(login_form.logowanie.value!='')
{
this.sprawdz=0;
var formularz="?form=login&login="+login_form.login.value+"&password="+login_form.password.value;
AjaxConnect('walidacja_form.php',formularz);
alert("2");
}
else
{
alert('Zly form');
}
}
Teraz tak, powyzszy kod wypisuje mi okienka alert, najpierw 2 a pozniej 1. Choc alert("2"); ustawiony jest po wywolaniu funkcji AjaxConnect, niby ona sie konczy bo zostaje wywolane open i send, ale nie zwraca jeszcze wynikow - alert("2");
Co zrobic by po wywolaniu funkcji AjaxConnect('walidacja_form.php',formularz); program musial czekac az zostanie wykonane do konca wywolanie AJAX. Chcialbym zeby wyswietlilo 1, 2