Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/07/2009, 16:55
mesoriginal
 
Fecha de Ingreso: septiembre-2008
Mensajes: 211
Antigüedad: 16 años, 5 meses
Puntos: 2
Validacion de formulario

Buenas tengo un problema con las validaciones en javascript.
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!