Foros del Web » Programando para Internet » Javascript »

dudas con esta funcion

Estas en el tema de dudas con esta funcion en el foro de Javascript en Foros del Web. tengo esta función: Código: function isEmailAddress(theElement, email) { var s = theElement.value; var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/; if (s.length == 0 ) return true; if (filter.test(s)) return true; ...
  #1 (permalink)  
Antiguo 20/01/2008, 16:43
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 4 meses
Puntos: 68
dudas con esta funcion

tengo esta función:

Código:
function isEmailAddress(theElement, email)
{
    var s = theElement.value;
    var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
    if (s.length == 0 ) return true;
    if (filter.test(s))
    return true;
    else
    alert("Ingrese una dirección de correo válida");
    theElement.focus();
    return false;
}
y en el form esto:

Código HTML:
<td><input type="submit" id="enviar" value="Enviar" onclick="valida_envia(); isEmailAddress(email,'email')" disabled="true" class="caja" /></td> 
y al dejar el email con dirección mala no me sale nada ni hace nada, alguien sabe que puede pasar?
__________________
No diseñes usando tablas.
  #2 (permalink)  
Antiguo 20/01/2008, 16:54
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: dudas con esta funcion

Hola:

Justamente en maestrosdelweb hay un artículodonde han puesto una función muy parecida, y puse un comentario que puede interesarte, pero resumiendo, las validaciones de los formularios se hacen devolviendo "false" a la función validadora, y ésta es preferible que esté en el tag form, de esta guisa: onsubmit="return valida(this)"

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 20/01/2008, 17:04
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 4 meses
Puntos: 68
Re: dudas con esta funcion

mil gracias caricatos le echare un ojo que de seguro me va bien ^^
__________________
No diseñes usando tablas.
  #4 (permalink)  
Antiguo 20/01/2008, 17:14
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: dudas con esta funcion

Hola:

Otras cosas que he notado es que la función tiene un segundo parámetro que no se usa, y la misma observación del artículo... la línea:
if (s.length == 0 ) return true;
Sale de la función con el valor true, o sea pasando la validación, que evidentemente no debería pasar al estar la cadena vacía (a no ser de que se tratase de un campo no-obligatorio)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 20/01/2008, 17:45
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 4 meses
Puntos: 68
Re: dudas con esta funcion

entiendo, entonces tanto como en el de maestros del web como en mi función eso tendría que ser false no?

es que de JS ando aún algo pez.
__________________
No diseñes usando tablas.
  #6 (permalink)  
Antiguo 21/01/2008, 03:53
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 4 meses
Puntos: 68
Re: dudas con esta funcion

tal como me comentó caricatos, me leí el articulo, pero con la función de e-mail:

Código:
<!--  (….) -->
<script language="JavaScript" type="text/javascript">

function validarEmail(cadena) {
var a = cadena.value;
var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+.[A-Za-z0-9_.]+[A-za-z]$/;

if (a.length == 0 )
return true;

if (filter.test(a))
return true;
else
alert("Porfavor, debe ingresar una dirección de correo válida");

cadena.focus();
return false;
}
</script>
<!--  (….) -->
no se como hacer para que me valide el formulario. Ya que no se donde poner que el form use esa función. Me ayudan?

gracias.
__________________
No diseñes usando tablas.
  #7 (permalink)  
Antiguo 21/01/2008, 08:48
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: dudas con esta funcion

Hola:

Las validaciones en el tag form:

<form onsubmit="return validarEmail(email)"...
...
<input type="text" name="email" />
...
</form>

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 21/01/2008, 09:22
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 4 meses
Puntos: 68
Re: dudas con esta funcion

ah vale, o sea en el submit le has de meter con el return. A parte que en la función he de poner el a.lengt que devuelva false no?
__________________
No diseñes usando tablas.
  #9 (permalink)  
Antiguo 22/01/2008, 00:24
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: dudas con esta funcion

Cita:
Iniciado por hades87 Ver Mensaje
ah vale, o sea en el submit le has de meter con el return. A parte que en la función he de poner el a.lengt que devuelva false no?
Bueno, sobre el return, según creo podría valer así para campos "no-obligatorios", y los obligatorios, posiblemente la expresión regular contemple también los campos vacíos... como no es mi fuerte lo de las expresiones regulares, creo que lo mejor que puedes hacer es probarlo.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #10 (permalink)  
Antiguo 22/01/2008, 03:19
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 4 meses
Puntos: 68
Re: dudas con esta funcion

tema resuelto ^^. Muchas gracias :P
__________________
No diseñes usando tablas.

Última edición por hades87; 22/01/2008 a las 03:54
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:56.