Buenas, vengo a comentarles un problema el cual me esta dejando seco de cerebro y no puedo solucionarlo.
El codigo es el siguiente:
Código:
var verificar;
function valuser(url, textbox){
text = document.getElementById(textbox).value;
page = url +"?text=" + text;
if(text!=""){
if(letrasusuario(text)){
if(cantusuario(text)){
conexion();
if(req!=null){
req.onreadystatechange = respuestauser;
req.open('GET', page, true);
req.send(null);
}
}
else{
window.document.registrar_usuario_form.user.value = "Debe tener mas de 4 caracteres";
}
}
else{
window.document.registrar_usuario_form.user.value = "Solo puede tener letras y numeros";
}
}
alert("chau");
}
function respuestauser(){
var respuesta = req.responseText;
if(req.readyState==4){
if(req.status==200){
if (respuesta=="true"){
window.document.registrar_usuario_form.user.value = "El usuario ya esta en uso";
verificar=1;
alert("usado");
}
else{
window.document.registrar_usuario_form.user.value = "Usuario disponible";
verificar=0;
alert("disponible");
}
}
}
else{
window.document.registrar_usuario_form.user.value = "Cargando...";
verificar=0;
alert("cargando");
}
}
Well, como verán hay alertas simplemente para guiarme que esta andando mal y lo que descubrí es que el alert("chau"); se ejecuta antes de que se ejecute cualquiera de los otros alert.
El tema es que acá no importa demasiado, pero tengo que agregar (donde estaría el alert("chau"); un IF que se fije que valor tiene VERIFICAR y de ahí continué o no, esto ocasiona un problema ya que primero ejecuta el if y después todo lo otro por lo tanto me da cualquier resultado y prácticamente explota el script xD
Hay alguna forma de decirle que no siga hasta obtener que termine de ejecutar toda esa función? o de que no me ejecute primero lo del final?
La verdad me desconcertó bastante ya que debería ejecutar el código en orden ajja
Espero que me puedan ayudar y muchas gracias!!