Buenas tardes, tengo un formulario el cual quiero validar, ya lo he hecho con otros formularios en otras webs con el mismo metodo, pero en este caso me esta fallando. Ya se que el tema ha sido hablado en otros hilos.
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);
?>