Hola! tengo un problemilla con el submit. Quiero que no haga submit hasta que no esten completos los 4 campos, pero aunque el script de validacion funciona (aparece el mensaje "falta campo x") envia el formulario igualmente al aceptar (aceptar el mensaje "falta campo x").
CODIGO HTML
Lo que esta en rojo son pruebas que e ido haciendo viendo el codigo (no tengo ni idea de php ni js). Antes de "return true" iba esto: "document.formulario.submit();"
CODIGO PHP
MUCHAS GRACIAS!
CODIGO HTML
<div id="container">
<form id="form1" class="wufoo" action="../enviar.php" method="post" name="formulario">
<div class="info">
<h2>Contacto</h2>
</div>
<ul>
<li>
<label class="desc" > Nombre:<span class="req">*</span></label>
<div>
<input class="field text large" name="nombre" type="text" id="nombre" maxlength="255" />
</div>
</li>
<li>
<label class="desc">E-mail:<span class="req">*</span></label>
<div>
<input class="field text large" name="email" id="email" type="text" maxlength="255"/>
</div>
</li>
<li>
<label class="desc">Asunto:<span class="req">*</span></label>
<div>
<input class="field text large" name="asunto" id="asunto" type="text" maxlength="255"/>
</div>
</li>
<li>
<label class="desc">Mensaje:<span class="req">*</span></label>
<div>
<textarea rows="10" cols="50" class="field textarea medium" name="mensaje" id="mensaje"></textarea>
</div>
</li>
<li class="buttons">
<input name="button" type="submit" class="btTxt" id="saveForm" value="Enviar" onclick="valida_envia()"/>
</li>
</ul>
</form>
<script language="JavaScript" type="text/JavaScript">
function valida_envia(){
if(document.formulario.nombre.value == "") {
alert("Escriba su nombre");
document.formulario.nombre.focus();
return 0;
}
if(document.formulario.email.value == "") {
alert("Escriba su EMail");
document.formulario.email.focus();
return 0;
}
if(document.formulario.asunto.value == "") {
alert("Escriba el asunto");
document.formulario.asunto.focus();
return 0;
}
if(document.formulario.mensaje.value == "") {
alert("Escriba el mensaje");
document.formulario.mensaje.focus();
return 0;
}
if(document.formulario.nombre.focus().false) {document.formulario.submit();}
if(document.formulario.email.focus().false) {document.formulario.submit();}
if(document.formulario.asunto.focus().false) {document.formulario.submit();}
if(document.formulario.mensaje.focus().false) {document.formulario.submit();}
return true
;
}
</script>
Lo que esta en rojo son pruebas que e ido haciendo viendo el codigo (no tengo ni idea de php ni js). Antes de "return true" iba esto: "document.formulario.submit();"
CODIGO PHP
....
<script languaje="JavaScript">
function redireccionar() {
setTimeout("location.href='index.html?id=tw_redireccion'", 5000);
}
</SCRIPT>
</head>
<body onload="redireccionar()">
....
<?php
$mail='[correo eliminado]';
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$asunto = $_POST['asunto'];
$mensaje = $_POST['mensaje'];
$nombre = strip_tags ($nombre);
$email = strip_tags ($email);
$asunto = strip_tags ($asunto);
$mensaje = strip_tags ($mensaje);
$message = "
Nombre: ".$nombre."
E-mail: ".$email."
Asunto: ".$asunto."
Mensaje: ".$mensaje."";
if (mail($mail,"Fotografía Olivier",$message ,"From: $email"));
echo "Gracias, se ha enviado correctamente.
Si no se carga la página principal en 5 seg. pulse sobre la imagen para volver.";
?>
MUCHAS GRACIAS!