20/11/2009, 22:09
|
| | Fecha de Ingreso: febrero-2007
Mensajes: 51
Antigüedad: 17 años, 11 meses Puntos: 1 | |
No enviar datos de formulario si un campo ha sido llenado Hola a todos!
Tengo un duda en un script para un formulario de contacto; lo que quiero es NO enviar los datos del formulario si un campo ha sido llenado.
Lo que sucede es que estoy tratando de evitar el Spam, para lo cual con CSS he creado un campo invisible, si este campo es llenado por un robot, significa que es Spam y no enviará el mensaje. Hasta aca todo correcto, lo que no se es que poner exactamente en el script.
Mi código HTML es el siguiente:
<form>
<label>Name:</label>
<input name="name" type="text" />
<label>Email:</label>
<input name="email" type="text" />
<input class="nospam" name="spam" type="text" />
<input type="submit" value="Submit Form" />
</form>
y el CSS es este:
.nospam {display:none}
Para hacer campos obligatorios uso lo siguiente:
<script type="text/javascript">
<!--
function validacion() {
var resultado = true;
nam = document.forms[0].name;
lna = document.getElementById('lname');
ema = document.forms[0].email;
lem = document.getElementById('lemail');
if( nam.value == null || nam.value.length == 0 || /^\s+$/.test(nam.value) ) {
nam.style.backgroundColor="#FFFFEE";
lna.innerHTML = "Por favor coloque su nombre";
resultado=false;
} else {
nam.style.backgroundColor="#fff";
}
if( !(/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(ema.value)) ) {
ema.style.backgroundColor="#FFFFEE";
lem.innerHTML = "Por favor coloque su email";
resultado=false;
} else {
ema.style.backgroundColor="#fff";
lem.innertHTML = "";
}
if (resultado == false) {
return false;
} else {
return true;
}
}
// -->
</script>
Muchas gracias de antemano por su ayuda! |