Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/08/2014, 02:03
Anonimo12
 
Fecha de Ingreso: abril-2009
Ubicación: En foros del web, normalmente en Web general, HTML y CSS.
Mensajes: 258
Antigüedad: 15 años, 8 meses
Puntos: 3
Respuesta: No recargar la web tras petición AJAX

Cita:
Hola:

No sé que librerías usas; deberías indicarlo (mejor aún deberías haber publicado el tema en el subforo adecuado)...
las peticiones ajax no recargan la página si están bien... las opciones son que la petición la hagas desde un enlace o de un botón submit, y luego no canceles el evento o que tras un error se aborte la ejecución antes de la cancelación, y en consecuencia siga la ejecución normal (se enlace o se envíe el form).

En tu código muestras una función que no se utiliza, en cambio asocias al submit una función que no nos muestras.

Saludos
Cierto, me he equivocado al escribir en el post el nombre de la función en el botón, pero no hay más que cambiar eso, aquí está el código completo:

Código Javascript:
Ver original
  1. function validarCorreo() {
  2.      
  3.         var email = document.getElementsByName("c_email")[0].value; //Obtengo el email que ha introducido el usuario
  4.      
  5.                 $.ajax({
  6.                     type: "post", //Petición por POST
  7.                     url: "./account/checkCreateErrors.php", //Fichero PHP que necesito ejecutar para comprobar si el email ya existe
  8.                     data: { "c_email" : email }, //Le envío el email como parámetro
  9.                     success: function(result) { //Tras obtener el resultado ->
  10.                         if(result == "exist") { //Si el correo existe muestro un mensaje de error y devuelvo false para que no se envíe el formulario
  11.                             var p = document.getElementsByName("c_error_email");
  12.                             p[0].style.height = "auto";
  13.                             p[0].style.opacity = 1;
  14.                             return false;
  15.                         }
  16.                         else { //Si no existe oculto el mensaje de error
  17.                             var p = document.getElementsByName("c_error_email");
  18.                             p[0].style.height = "0px";
  19.                             p[0].style.opacity = 0;                    
  20.                         }
  21.                     }
  22.                 });
  23.     }

Código HTML:
Ver original
  1. <input name="enter" type="submit" value="Enter" onclick="return validarCorreo()">

En cuanto a la librería, importo Jquery en su última versión:

Código HTML:
Ver original
  1. ...
  2. <script type="text/javascript" src="./resource/js/jquery-2.1.1.min.js"></script>
  3. ...
  4. </head>

A ver si podéis decirme donde está el error. Un saludo.
__________________
¿Por qué Anónimo?, porque como está el mundo no podemos considerarnos humanos...

Última edición por Anonimo12; 14/08/2014 a las 02:22