Buenos días
Lo primero daros las gracias por dedicarme unos segundos.
Estoy haciendo una validación de un formulario para el registro de un usuario que consulta a la base de datos si existe el usuario introducido.
La idea es la siguiente:
Código lenguaje:
Ver originalfunction insestaUser(){
//comprobamos si existe el usuario llamando a la funcion existeUsurio
if(existeUsurio(document.getElementById("f6").value)){
alert("el usuario y aexiste");
}else{
document.getElementById("form1").submit();
close();
}
}
function existeUsurio(user){
_objetus=http_request();
//<![CDATA[
_values_send="accion=buscaUsuario&user="+user;
//]]>
_URL_="../ajax/ajax.usuario.php?";
_objetus.open("GET",_URL_+"&"+_values_send,true);
_objetus.onreadystatechange=function(){
if (_objetus.readyState==4){
if(_objetus.status==200){
var vari=_objetus.responseText;
if(vari > 0){
return true;
}else{
return false;
}
}
}else{
window.alert('¡Error! falla-['+_objetus.status+']-'+_objetus.responseXML);
}
}
_objetus.send(null);
}
El problema que tengo que al llamar a la función existeUsurio no espera a que termine de ejecutarse la funcion ajax, continua la comprovación "existeUsurio" como si reciviese un true, somo si al entar en el función de ajax se creara otro hilo de ejecución.
Imagino que el problema será a que la función tiene que esperar a que el evento onreadystatechange sea llamado.
¿Habría posibilidad que el if esperase a la respuesta del ajax?
Saludos