Antetodo, buenas tardes compañeros!
Tengo un problema que me lleva arrastrando un par de días y ya me tiene un poco mosca..
Me he metido de lleno a "trapichear" el HTML5 y ahora mismo, estoy en plena lucha con lo siguiente:
Quiero hacer un formulario, tengo todo mas o menos conseguido, me explico:
Tengo todos los campos, con sus input y demáses.. quedaría tal que así:
Código HTML:
<form id="ContactForm" action="contactform.php" method="post">
<div>
<div class="wrapper">
<span>*Nombre:</span>
<input name="Nombre" type="text" required class="input" id="Nombre" maxlength="60">
</div>
<div class="wrapper">
<span>Empresa:</span>
<input name="Empresa" type="text" class="input" id="Empresa" maxlength="50">
</div>
<div class="wrapper">
<span>*Motivo:</span>
<input name="motivo" type="text" class="input" id="motivo" maxlength="50">
</div>
<div class="wrapper">
<span>*Telefono</span>
<input type="tel" id="geografico" name="geografico" placeholder="+34" size="3" value="+34" disabled>
<input type="tel" id="telefono" name="telefono" size="6" maxlength=9 required pattern="[0-9]{6}" class="input" >
</div>
<div class="wrapper">
<span>E-mail</span>
<input type="email" id="mail" name="mail" required class="input" >
</div>
<div class="textarea_box">
<span>Su mensaje:</span>
<textarea id="consulta" name="consulta" cols="1" rows="1"></textarea>
</div>
<div id="aster"> * | Campos obligatorios
<br>
<input type="checkbox" name="condiciones" required id="condiciones">
<label for="condiciones">Acepto las condiciones*</label>
</div>
<a href="#" onClick="document.getElementById('ContactForm').submit()">Enviar</a>
<a href="#" onClick="document.getElementById('ContactForm').reset()">Limpiar</a>
</div>
</form>
El archivo contactform.php que es el que envía el email queda tal que así:
Código PHP:
<?php
//Correo de destino; donde se enviará el correo.
$correoDestino = "[email protected]";
//Variables.
$Nombre = $_POST['Nombre'];
$Empresa = $_POST['Empresa'];
$motivo = $_POST['motivo'];
$telefono = $_POST['telefono'];
$mail = $_POST['mail'];
$consulta = $_POST['consulta'];
$fecha = time ();
$fechaFormateada = date ("j/n/Y", $fecha);
//Formateo el asunto del correo
$asunto = "Contacto WEB_$Nombre; motivo";
//Cuerpo del email que se te enviará.
$cuerpo = "Enviado por: " . $Nombre . "\n, ".
$cuerpo .= "Empresa: " .$Empresa . "\n ";
$cuerpo .= "Motivo: " .$motivo . "\n ";
$cuerpo .= "Telefono de contacto:" .$telefono . "\n";
$cuerpo .= "E-mail: " .$mail . "\n";
$cuerpo .= "Comentario:" .$consulta . " \n ";
// Envío el mensaje
mail ( $correoDestino, $asunto, $cuerpo, $textoEmisor);
//lo otro
$mail_status = mail($mail_to);
?>
<script language="javascript" type="text/javascript">
alert('Gracias por enviar el mensaje. Nos pondremos en contacto lo antes posible.');
window.location = 'Contacta.html';
</script>
<?php
Y ahora os explico; actualmente, he conseguido que me llegue el email, PERO, el problema está en que si, se envía pero lo que no consigo es que no se pueda enviar el formulario sin que estén todos los campos correctamente rellenos.
Actualmente tengo el jquery: "jquery.html5form-1.5-min.js" con sus dos scripts:
Código HTML:
<script>
$(document).ready(function(){
$('#ContactForm').html5form();
});
</script>
<script>
$('#myform').html5form({
allBrowsers: true
});
</script>
puestos en el archivo HTML donde se encuentra el form.
Funciona, se pone en rojo el textbox en señal de que está mal.. pero al darle al boton enviar se envía igualmente.
Tanto el form como el archivo "contactform.php" me los he sacado de la manga leyendo por internet y haciendo copy&paste de lo que más o menos iba entendiendo..
He mirado en 20.000 webs, tanto en español como en inglés, pero no me consigo salir.. soy un poco torpe.. a ver si me podeis ayudar compañeros!!!
Muchas gracias de antemano.