Cuando lo pruebo con todos los campos vacíos me devuelve el alert de Complete todos los campos, pero enseguida me aparece otro alert que dice: "nombre=&email=&fecha=&pais&mensaje=" y en el caso que complete todos los campos le doy en Enviar y no hace nada cuando debería llevarme a otro .html
Muchas gracias! Disculpen si me extendí, pero creo que es mejor explicar todo asi se entiende.
Les muestro lo que tengo:
Código:
function valida_envia(formulario){ //valido campos if (formulario.nombre.value.length==0 || formulario.email.value.length==0 || formulario.pais.value.length==0 || formulario.fecha.value.length==0 || formulario.mensaje.value.length==0){ alert("Por favor, complete todos los campos."); formulario.nombre.focus() return false; } return true; }
Código HTML:
<form id="formulario" name="formulario" method="post" action="enviar.php" onSubmit="return valida_envia(this);"> <div id="inputs"> <label for="nombre">Nombre:</label> <input name="nombre" type="text"/> <label for="mail">E-mail:</label> <input name="email" type="text"/> <label for="fecha">Cuándo vacaciona</label> <input name="fecha" type="text"/> <label for="pais">País de origen:</label> <select name="pais" id="country-selector" autocorrect="off" autocomplete="off"> <option value="" selected="selected">Ingrese su país</option> ACA TENGO UNA LISTA DE PAISES </select> </div> <div id="textareas"> <label for="mensaje">Mensaje:</label> <textarea name="mensaje" rows="2"></textarea> <p class="submit"> <input name="submit" type="submit" class="submit" id="boton" value="Enviar" title="Enviar"/> </p> <div id="comentario"><span>*Todos los campos son obligatorios</span></div> </div> </form>
Código PHP:
<?php
$nombre = $_POST['nombre'];
$mail = $_POST['email'];
$pais = $_POST['pais'];
$fecha = $_POST['fecha'];
$comentario = $_POST['mensaje'];
$header = 'From: ' . $email . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje = "Nombre: " . $nombre . " \r\n";
$mensaje .= "E-mail: " . $mail . " \r\n";
$mensaje .="Pais: " . $pais . " \r\n";
$mensaje .="Fecha: " . $fecha . " \r\n";
$mensaje .= "Mensaje: " . $comentario . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());
$para = 'MAIL';
$asunto = 'ASUNTO';
mail($para, $asunto, utf8_decode($mensaje), $header);
$direccion = "gracias.html?ref=" . rawurlencode($nombre);
echo header('Location:'.$direccion);
?>