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<form action="process.php" id="formulario" method="post" autocomplete="on"> <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> <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> <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> <p class="indication"> Todos los campos marcados con
<span class="required">*
</span> son obligatorios
</p> <input type="submit" value="Enviar" /> <!-- Códigos de validación para el formulario -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <!-- Script que llama a la validación del formulario -->
$(function(){
$('#formulario').validate({
submitHandler: function(form) {
$(form).ajaxSubmit({
url: 'process.php',
success: function() {
$('#textoContacto h3').hide();
$('#formulario').hide();
$('#caja').append("
<p>Mensaje enviado,
<strong>gracias por contactar con nosotros
</strong>, responderemos lo antes posible.
</p>")
}
});
}
});
});
<!-- 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<?php
//Correo de destino; donde se enviará el correo.
//Texto emisor; sólo lo leerá quien reciba el contenido.
$textoEmisor = "MIME-VERSION: 1.0\r\n";
$textoEmisor .= "Content-type: text/html; charset=UTF-8\r\n";
/*
Recopilo los datos vía POST
Con strip_tags suprimo etiquetas HTML y php para evitar una posible inyección.
Como no gestiona base de datos no es necesario limpiar de inyección SQL.
*/
//Formateo el asunto del correo
$asunto = "Mensaje desde el formulario de Bipolar Station";
//Formateo el cuerpo del correo
$cuerpo = "<b>Enviado por:</b> " . $nombre . "<br />";
$cuerpo .= "<b>E-mail:</b> " . $correo . "<br />";
$cuerpo .= "<b>Fecha:</b> " . $fecha . "<br />";
$cuerpo .= "<b>Comentario:</b> " . $comentario;
// Envío el mensaje
mail( $correoDestino, $asunto, $cuerpo, $textoEmisor); mail( $correoDestino2, $asunto, $cuerpo, $textoEmisor); ?>
¿¿Cómo puedo hacer con HTML5 para que envie el mensaje y devuelva un mensaje de agradecimiento desde la misma página??
SAludos