Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/01/2013, 06:21
MindPaniC
Invitado
 
Mensajes: n/a
Puntos:
Formulario de contacto HTML5

Hola a todos,

Tengo un formulario de contacto en HTML5, la cuestion es que funciona bien el hecho de las casillas "required" pero no consegui que me enviase los emails y tuve que usar otro metodo de otro formulario que tenia y que muestra la obligatoriedad de los campos con jQuery. La cuestion es que yo quiero que funciona sin tener que recurrir a jQuery y que muestre esos fallos tan esteticos y multilenguaje de HTML5.

Este es mi formulario, copio tambien la seccion jQuery:

Código HTML:
Ver original
  1. <form action="process.php" id="formulario" method="post"  autocomplete="on">
  2.         <p> <label for="username" class="iconic user" > Nombre <span class="required">*</span></label> <input type="text" name="nombre" id="username"  required="required" placeholder="¿Cómo te llamas?" autofocus /> </p>
  3.         <p> <label for="usermail" class="iconic mail-alt"> E-mail <span class="required">*</span></label> <input type="email" name="email" id="usermail" placeholder="Nunca te enviaremos spam" required  /> </p>
  4.         <p> <label for="message" class="iconic comment"> Mensaje  <span class="required">*</span></label> <textarea placeholder="Contestaremos lo antes posible" name="comentario"  required="required" ></textarea> </p>
  5.         <p class="indication"> Todos los campos marcados con <span class="required">*</span> son obligatorios</p>
  6.         <input type="submit" value="Enviar" />
  7.         </form>
  8. <!-- Códigos de validación para el formulario -->
  9.     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  10.     <script src="js/jquery.validate.js"></script>
  11.     <script src="js/jquery.form.js"></script>
  12. <!-- Script que llama a la validación del formulario -->
  13.     <script>
  14.         $(function(){
  15.             $('#formulario').validate({
  16.                 submitHandler: function(form) {
  17.                     $(form).ajaxSubmit({
  18.                         url: 'process.php',
  19.                         success: function() {
  20.                            
  21.                             $('#textoContacto h3').hide();
  22.                             $('#formulario').hide();
  23.                             $('#caja').append("<p>Mensaje enviado, <strong>gracias por contactar con nosotros</strong>, responderemos lo antes posible.</p>")
  24.                         }
  25.                     });
  26.                 }
  27.             });        
  28.         });
  29.     </script>
  30. <!-- Fin códigos de validación del formulario -->

He probado a quitar el jQuery y procesar el formulario con un archivo externo en PHP pero envia los mensajes y la pagina queda en blanco cosa que con el jQuery no sucede ya que entrega un mensa tipo "su mensaje ha sido enviado gracias"

Este es el php:
Código PHP:
Ver original
  1. <?php
  2.  
  3. //Correo de destino; donde se enviará el correo.
  4. $correoDestino = "[email protected]";
  5. $correoDestino2 = "[email protected]";
  6.  
  7. //Texto emisor; sólo lo leerá quien reciba el contenido.
  8. $textoEmisor = "MIME-VERSION: 1.0\r\n";
  9. $textoEmisor .= "Content-type: text/html; charset=UTF-8\r\n";
  10.  
  11. /*
  12.     Recopilo los datos vía POST
  13.     Con strip_tags suprimo etiquetas HTML y php para evitar una posible inyección.
  14.     Como no gestiona base de datos no es necesario limpiar de inyección SQL.
  15. */
  16. $nombre = strip_tags($_POST['nombre']);
  17. $correo = strip_tags($_POST['email']);
  18. $comentario = strip_tags($_POST['comentario']);
  19. $fecha = date('j/n/Y');
  20.  
  21. //Formateo el asunto del correo
  22. $asunto = "Mensaje desde el formulario de Bipolar Station";
  23.  
  24. //Formateo el cuerpo del correo
  25.  
  26. $cuerpo = "<b>Enviado por:</b> " . $nombre . "<br />";
  27. $cuerpo .= "<b>E-mail:</b> " . $correo . "<br />";
  28. $cuerpo .= "<b>Fecha:</b> " . $fecha . "<br />";
  29. $cuerpo .= "<b>Comentario:</b> " . $comentario;
  30.  
  31. // Envío el mensaje
  32. mail( $correoDestino, $asunto, $cuerpo, $textoEmisor);
  33. mail( $correoDestino2, $asunto, $cuerpo, $textoEmisor);
  34. ?>

¿¿Cómo puedo hacer con HTML5 para que envie el mensaje y devuelva un mensaje de agradecimiento desde la misma página??


SAludos