Tengo un formulario de contacto donde una vez hagan SUBMIT el codigo javascript tiene que assegurar-se de que no contengan campos en blanco i de que el correo electrònico sigue la estructura siguiente [email protected] para comprobar de que se trata de un correo electrònico.
Formulario
Código HTML:
<form name="contact" id='contact' method="post" action="contact.php" class='form_contact' onSubmit="return valida(this);"> Nombre<input type='text' name='name' id='name' size='40'> Correo<input type='text' name='mail' id='mail' size='40'> Informacion<textarea name="description" id='description' cols="40" rows="10" ></textarea> <input type="submit" name="Submit" value="Enviar"> </form>
Codigo JavaScript
Código HTML:
function valida_correo(mail){
var regx;
regx = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/;
return regx.test(mail);
}
// VALIDAR CAMPS EN BLANC I ESPAIS DEL FORMULARI
function vacio(q) {
for ( i = 0; i < q.length; i++ ) {
if ( q.charAt(i) != " " ) {
return true
}
}
return false
}
function valida(F) {
if( vacio(F.name.value) == false ) {
alert("El campo Nombre debe rellenarse..")
return false }
if( vacio(F.mail.value) == false ) {
alert("El campo Correo electrònico debe rellenarse.")
return false }
if(!valida_correo(F.mail.value) ){
alert("Porfavor, debe ingresar una dirección de correo válida")
document.mail.mail.focus()
return false }
if( vacio(F.description.value) == false ) {
alert("El campo Descrpición debe rellenarse.")
return false }
else {
return false }
}
</script>
El Problema està en que detecta los campos en blanco i hace un return false però al comprobar el correo electrònico como incorrecto parece como si no hiciera el return false.
Haber si podeis ayudarmee! saludos!