Ver Mensaje Individual
  #8 (permalink)  
Antiguo 20/07/2011, 11:47
Avatar de jesusvipze
jesusvipze
 
Fecha de Ingreso: julio-2011
Ubicación: León(España)
Mensajes: 11
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Como validar email en formulario de recomendar web

Querido amigo , muchas gracias por tu función y tu respuesta que valoro 100% positiva. AL final , tras comerme la cabeza de una forma tonta, para llamar a las dos funciones, he llegado a la conlusión correcta.


Para todos aquellos empecinados en llamar a dos funciones con el mismo formulario, les diré que esto siempre da problemas, ya qye normalmente no te ejecuta una de las dos. ësto me pasaba a mi, o me validaba, o me comprobaba el correo, jeje.

Bien , no hay que tener dos funciones para un formulario , sino hacer de las dos una,, e integrarlas. Nada de poner return hacia otra función dentro de la funcion validar, ni nada de hacer comparaciones raras con if en el evento onsubmit como he leido por aquí. La solución es :

Validar_formulario_recomendar(theForm) es la función que valida el formulario. He añadido dentro de ella la que valida el correo electrónico.
MI error y el de muchos era que lo añadía con la instrucción function delante y ésto javascript se ve que no lo entendía. La clave está en poner todo el código de la otra función , la de comprobarCorreo(email) al final de la función de validar, pero dentro de ella, entre sus llaves, como código adicional a ejecutartras las primeras validaciones.

El código completamente funcional es:


<script language="JavaScript"
type="text/javascript">
function Validar_formulario_recomendar(theForm)<-
{
if (theForm.nombre.value == "")
{
alert("Por favor rellena tu nombre");
theForm.nombre.focus();
return (false);
}
if (theForm.nombre.value.length < 2)
{
alert("Por favor rellena completamente tu nombre");
theForm.nombre.focus();
return (false);
}
if(theForm.nombre.value.replace(/ /g, '') == '')
{
alert("Debe Ingresar un nombre");
theForm.nombre.focus();
theForm.nombre.select();
return false;
}
if (theForm.email.value == "")
{
alert("Por favor rellena tu email");
theForm.email.focus();
return (false);
}
if (theForm.email.valuelength < 2)
{
alert("Por favor rellena correctamente tu email");
theForm.email.focus();
return (false);
}
if(theForm.email.value.replace(/ /g, '') == '')
{
alert("Debe Ingresar un email válido");
theForm.email.focus();
theForm.email.select();
return false;
}
if (theForm.destinatario.value == "")
{
alert("Por favor rellena el email a quien deseas recomendar esta web");
theForm.destinatario.focus();
return (false);
}
if (theForm.destinatario.valuelength < 2)
{
alert("Por favor rellena correctamente el email de tu amigo/a");
theForm.destinatario.focus();
return (false);
}
if(theForm.destinatario.value.replace(/ /g, '') == '')
{
alert("El email de destino no es válido");
theForm.destinatario.focus();
theForm.destinatario.select();
return false;
}
var exMail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
if(exMail.test(theForm.email.value)==false)
{
alert("El email introducido no es correcto");
theForm.email.focus();
theForm.email.select();
return false;
}
else
return true;

}
//--></script>


Muchísimas gracias colega