Ver Mensaje Individual
  #13 (permalink)  
Antiguo 31/05/2017, 17:51
elprofeguti
 
Fecha de Ingreso: diciembre-2011
Mensajes: 17
Antigüedad: 13 años
Puntos: 0
Respuesta: Problemas con $.post()

Amigo Alexis88, lo que quiero hacer es lo siguiente.

Estoy validando el campo email.
Cuando el usuario digita el email y le hace clic en ENVIAR. El correo es verificado si existe o no en la base de datos.
En el caso de que el email exista la variable MENSAJE tomará un valor de "Sí" y de inmediato deberá regresar al formulario para volver a digitar el correo.

El problema es que el return false; no funciona cuando lo coloco tal y como lo muestro en el siguiente código. Lo que hace es continuar con el siguiente if (datepicker.value == ''). Lo que quiero es que detenga la función y retorne al input email.


function formhashregistro(form, email) {
if (!regex.test(email.value)) {
// código...
}else{
var textoBusqueda = $("input#email").val();
$.post("multiUSERS_registro1_buscarINPUT2.php", {valorBusqueda: textoBusqueda},function(mensaje)
{
if (mensaje == "Si") {
$("#email").html('E-mail: <span class="rojo f08">El correo <strong>'+textoBusqueda+'</strong> ya está registrado, pruebe con otro.</span>');return false;
}else{$("#email").html("Email: <span class='verde f08'>El correo <strong>"+textoBusqueda+"</strong> no está registrado, puede continuar23.</span>");
};
});
};
// continua...
if (datepicker.value == '') {
// más código...
}
}

También he probado colocando el return false; fuera de $.post(). Y esto sí funciona pero el reutrn false; se ejecuta sin importar si el valor de la variable de mensajes sea Si o No. Es decir que para cualquiera de los dos casos retorna al input. Asumo que no reconoce el IF o no pasa el valor de mensaje.

function formhashregistro(form, email) {
if (!regex.test(email.value)) {
// código...
}else{
var textoBusqueda = $("input#email").val();
$.post("multiUSERS_registro1_buscarINPUT2.php", {valorBusqueda: textoBusqueda},function(mensaje)
{
if (mensaje == "Si") {
$("#email").html('E-mail: <span class="rojo f08">El correo <strong>'+textoBusqueda+'</strong> ya está registrado, pruebe con otro.</span>');
}else{$("#email").html("Email: <span class='verde f08'>El correo <strong>"+textoBusqueda+"</strong> no está registrado, puede continuar23.</span>");
};
});
if (mensaje == "Sí") {return false;};
};
// continua...
if (datepicker.value == '') {
// más código...
}
}


Ahora, creo que el problema no es el valor de la variable sino la demora de $.post(?
Cómo podría solucionarlo?