Cita: Hola:
El problema es que validarCorreo() no devuelve nada. Fíjate que validarCorreo() hace una petición ajax, indicando que cuando llegue la respuesta se llame a success() y termina sin devolver nada.
Cuando más adelante llegue la respuesta ajax, se llamara a success() y esta será la función que devuelva true o false y eso no llegará al submit de ninguna forma.
Tendrías que hacer la petición ajax síncrona, es decir, que espere por la respuesta, poniendo algo así
Código ASP:
Ver original$.ajax({
type: "post", //Petición por POST
async: false,
...
¡Perfecto!, ese era el problema, ya lo he solucionado gracias por la respuesta.
Voy a lanzar otra duda que va en el mismo hilo aunque es mas conceptual que práctica:
Con JavaScript controlo que el formulario se haya rellenado correctamente, sin embargo, no sé si el usuario modificando el código fuente desde su navegador (ya que JavaScript es de lado del cliente y no del servidor) me puede enviar los datos erróneos al reescribir la función.
Mi duda es: ¿Además debería rehacer la comprobación cuando fichero PHP reciba los datos del formulario para evitar insertar en la BD información errónea?, ¿o el navegador de por si evita estos problemas?.
Un saludo.