Ver Mensaje Individual
  #6 (permalink)  
Antiguo 24/05/2009, 11:13
haga41
 
Fecha de Ingreso: junio-2008
Mensajes: 145
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Problema con return false

Ok, Avatar810 gracias por la explicación, ahora ya entiendo lo que quieres decir que el "formulario.submit()" del fianl no hace falta si llamo a la función desde un onsubmit.

Por cierto tengo una duda que no se si iría en este foro pero si me podéis ayudar lo agradecería. Para terminar de comprobar el formulario he creado un función que me compruebe el campo e-mail, parte del código era de este post.

Las comprobaciones que he hecho son las siguientes:

1 - Que no lleve ñ, acentos ni diéresis
2 - Que lleve arroba y no este ni la principio ni al final
3 - Que lleve al menos un punto y no este ni al principio ni al final.

Tengo dudas sobre si tambén debería comprobar que si hay guiones bajos o guiones altos no vayan al principio ni al final, pero creo que eso sería todo ¿no? He buscado por internet los caracteres prohibidos para los e-mails pero no he encontrado gran cosa.

Este es el código que me ha quedado por si a alguien le interesa, iría dentro de un archivo .js.

Código HTML:
function validar(){
	var mail = document.formulario.email.value;	
	var tamano = (document.formulario.email.value.length) - 1;
	var formulario = document.formulario;
	var arroba = "@";
	var punto = ".";
	var txt = "";	
	var caracteres = /^[ñáéíóúñüÁÉÍÓÚÑ]+$/i; 
   if (document.formulario.nombre.value.length==0){ 
	   txt = txt + "Debe que escribir su nombre\n";
   }	   
   if (document.formulario.apellidos.value.length==0){ 
		txt = txt + "Debe que escribir sus apellidos\n";
   }
    if (document.formulario.email.value.length==0){ 
		txt = txt + "Debe que escribir su email\n";		
	}
	else if (document.formulario.email.value.length!=0){
		if (mail.indexOf(caracteres) ==-1){
				alert('Debe escribir un formato de e-mail válido, sin eñes ni acentos');
				return false
		}			
			if(mail.indexOf(arroba) ==-1){
				alert('Debe escribir un formato de e-mail válido');
				return false
			}
			if ((tamano == mail.lastIndexOf(arroba)) || (mail.indexOf(arroba) == 0)){ 
				alert('La arroba no puede estar al principio ni al final');
				return false
			} 
	if(mail.indexOf(punto) ==-1){
				alert('Debe escribir un formato de e-mail válido');
				return false
			}
			if ((tamano == mail.lastIndexOf(punto)) || (mail.indexOf(punto) == 0)) { 
				alert('El punto no puede estar al principio ni al final');
				return false
			} 
	}
	if (document.formulario.comentarios.value.length==0){ 
	   txt = txt + "Debe escribir sus comentarios\n";
   }	
	if(txt.length>0)
	{
		txt = "Los siguientes campos son obligatorios:\n\n" + txt;
		alert(txt);
		return false		
	} 
	else {
	return true
	}
}