Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/02/2014, 13:44
vanessalopez_2007
 
Fecha de Ingreso: enero-2014
Mensajes: 3
Antigüedad: 10 años, 3 meses
Puntos: 0
¿Cual es mi error? Validación de campos

Estoy haciendo un formulario de contacto, y utilizo ajax. El tema es que al intentar validar los campos.. me surge un gran problema, me deja validar pero no me envía el mensaje, o me envía el mensaje pero no me valida.

El siguiente código utilizo para validar:

Código Javascript:
Ver original
  1. <script type="text/javascript" src="js/jquery_1.4.js"></script>
  2. <script type="text/javascript" src="js/jquery_validate.js"></script>
  3. <script type="text/javascript">
  4. $(function(){
  5.     $('#formInscripcion').validate({
  6.         rules: {
  7.         'nombre': 'required',
  8.         'asunto': 'required',
  9.         'mensaje': 'required',
  10.         'numero_identidad': { required: true, number: true },
  11.         'email': { required: true, email: true },
  12.         'tipo_identidad': 'required',
  13.         'deportes[]': { required: true, minlength: 1 }
  14.         },
  15.         messages: {
  16.         'nombre': 'Debe ingresar el nombre',
  17.         'asunto': 'Debe ingresar el asunto',
  18.         'mensaje': 'Debe ingresar el mensaje',
  19.         'numero_identidad': { required: 'Debe ingresar el número de télefono', number: 'Debe ingresar un número' },
  20.         'email': { required: 'Debe ingresar un correo electrónico', email: 'Debe ingresar el correo electrónico con el formato correcto. Por ejemplo: [email protected]' },
  21.         'tipo_identidad': 'Debe ingresar el número de documento',
  22.         'deportes[]': 'Debe seleccionar mínimo un deporte'
  23.         },
  24.         debug: true,
  25.         /*errorElement: 'div',*/
  26.         //errorContainer: $('#errores'),
  27.         submitHandler: function(form){  
  28.             alert('El formulario ha sido validado correctamente!');
  29.         }
  30.     });
  31. });
  32. </script>

Donde se encuentra el alert de la validación, había pensado en escribir mi código de envío:

Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.         $("#enviar").click(function(){
  3.             $("#formcontacto").fadeTo("1000",0,function() {
  4.                 $("#msj").html("Enviando..");
  5.                 $("#msj").show(1000);
  6.                 $.post("envio.php", { nombre: $("#apyn").val(), email: $("#email").val(), telefono: $("#telefono").val(), asunto:$("#asunto").val(), mensaje: $("#mensaje").val()},function(respuesta) {
  7.                 $("#msj").fadeOut(500,function(){
  8.                     if(respuesta.estado=="1"){
  9.                         $("#msj").html("Mensaje enviado.");
  10.                         $("#msj").fadeIn(1000);
  11.                         setTimeout("location.href='?seccion=contacto'",2000);
  12.                         }
  13.                     else {
  14.                         $("#msj").html("Error al enviar el mensaje.");
  15.                         $("#msj").fadeIn(500);
  16.                         setTimeout("location.href='?seccion=contacto'",2000);
  17.                         }
  18.                     });
  19.                 }, "json");
  20.             });
  21.         });
  22.     });

Y este es el código donde tengo el formulario

Código HTML:
Ver original
  1. <br /><div class="titulo">Contacto</div><br />
  2.  
  3. <div class="infocontacto"><br /><br />
  4. <big><font color="red"><i>DeOeSe Soluciones</i></font>
  5. <br /><br />
  6. 9 de Julio 978 - Gral. Cabrera <br />
  7. Tel. 0358- 493xxxx / 154833747<br />
  8. </div>
  9. <div class="infocontacto">
  10. <div id="formcontenedor">
  11.     <div id="msj"> </div>
  12.     <div id="formcontacto">
  13.     <form id="formInscripcion" method="post" action="">
  14.             <p><label for="nombre">Apellido y Nombre <font color="red">*</font></label><br />
  15.                 <input type="text" name="nombre" id="nombre" /></p>
  16.             <p><label for="email">E-mail <font color="red">*</font> <br /></label>  
  17.                 <input type="text" name="email" id="email" /></p>
  18.             <p><label for="numero_identidad">Telefono<font color="red">*</font> <br /></label>  
  19.                 <input type="text" name="numero_identidad" id="numero_identidad" /></p>
  20.             <p><label for="apellido">Asunto<font color="red">*</font> <br /></label>
  21.                 <input type="text" name="asunto" id="asunto" /></p>
  22.             <p><label for="mensaje">Mensaje<font color="red">*</font> <br /></label>
  23.                 <textarea name="mensaje" id="mensaje" cols="30" rows="5"></textarea>
  24.             </p>
  25.         <p><input type="submit" name="enviar" value="Enviar" /></p>
  26.     </form>
  27. </div></div></div>

En fin, si utilizo únicamente mi código de envío me funciona perfectamente, y si utilizo únicamente el código de validación también funciona, pero al combinarlos no.

Leí, que hay que poner form.submit(); para que envíe los datos, pero no decía donde,y ya intente de mil maneras, y no tengo idea.. Me podrían ayudar??! Se los agradezco!!!