Foros del Web » Programando para Internet » Javascript »

detener el envio de datos cuando el e-mail no es válido

Estas en el tema de detener el envio de datos cuando el e-mail no es válido en el foro de Javascript en Foros del Web. Hola, tengo una formulario en donde el usuario se registra, pide datos de nombre direccion etc. al pedir el e-mail valido que sea una direccion ...
  #1 (permalink)  
Antiguo 21/04/2003, 10:52
Avatar de zink  
Fecha de Ingreso: mayo-2002
Ubicación: Aguascalientes
Mensajes: 125
Antigüedad: 22 años, 6 meses
Puntos: 0
detener el envio de datos cuando el e-mail no es válido

Hola, tengo una formulario en donde el usuario se registra, pide datos de nombre direccion etc. al pedir el e-mail valido que sea una direccion correcta, hasta aqui todo bien.....

El problema es que cuando no sea una direccion de e-mail válida, no me deje seguir, por que me manda el "alert" .... pero tambien me manda la información a la BD (aun estando incorrecto el e-mail).

Traté de truncarlo con "break" ... pero creo que funciona solo en los bucles, o ciclos.

El codigo que uso es el sig:

<script language="javascript" type="text/javascript" defer>
function validaEmail(mail)
{
var re = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
if (!re.test(mail)) {
alert ("La dirección de email es incorrecta.");
return false;
}
return true;
}</script>



Gracias de antemano

Última edición por zink; 21/04/2003 a las 13:53
  #2 (permalink)  
Antiguo 21/04/2003, 16:21
 
Fecha de Ingreso: abril-2003
Ubicación: Bogota
Mensajes: 131
Antigüedad: 21 años, 7 meses
Puntos: 2
Es muy sencillo, el sumbit cambielo por button, y le da un evento onclick

<input type="button" name="enviar" onclick="enviar()">

Donde enviar es la funcion javascript que valida la informacion, si esta correcta toda la informacion, osea si al terminara la funcion de validacion esta todo bien pasara al otro lado con

document.form1.submit();

ejemplo:

if(document.form1.nombe.value!='')
{
if(document.form1.apellido.value!='')
{
...
if(document.form1.ultimodato.value!='')
{
document.form1.submit();
}

else
{
alert("Falta el apellido");
}

..
}
else
{
alert("Falta el apellido");
}
}
else
{
alert("Falta el nombre");
}
  #3 (permalink)  
Antiguo 21/04/2003, 17:34
Avatar de zink  
Fecha de Ingreso: mayo-2002
Ubicación: Aguascalientes
Mensajes: 125
Antigüedad: 22 años, 6 meses
Puntos: 0
gracias por responder mackpipe.

intenté lo que me dices y si me funciona bien, excepto por un detalle: tengo otra funcion para validar los campos vacios, sin tener que nombrar a cada input del formulario, entonces cuando el e-mail no es valido, si me lo detecta y no avanza en el proceso del envio de la informacion.... pero ahora no me detecta la otra funcion, es decir no valida los campos vacios.

a esta funcion que menciono la mando llamar en el <form..... onSubmit="nombre de la funcion">

no se si me podrias decir como hacer para que funcionene las dos.


Gracias.
  #4 (permalink)  
Antiguo 22/04/2003, 12:02
Avatar de zink  
Fecha de Ingreso: mayo-2002
Ubicación: Aguascalientes
Mensajes: 125
Antigüedad: 22 años, 6 meses
Puntos: 0
Alguien que me ayude??????
  #5 (permalink)  
Antiguo 22/04/2003, 17:44
 
Fecha de Ingreso: abril-2003
Mensajes: 8
Antigüedad: 21 años, 7 meses
Puntos: 0
onSubmit="nombre de la funcion"

Vale, pero la función debe terminar con un return
return true, se envía el formulario
return false, no se envía.

javascript.espaciolatino.com
  #6 (permalink)  
Antiguo 22/04/2003, 19:25
Avatar de zink  
Fecha de Ingreso: mayo-2002
Ubicación: Aguascalientes
Mensajes: 125
Antigüedad: 22 años, 6 meses
Puntos: 0
ok, ya resolví el problema de la validacion....Gracias.

jejeje pero no es todo, como ya comentaba tengo otro script para verificar los campos vacios, entonces en el <form...> mando llamar a los dos, pero solo uno se ejecuta.

Mi pregunta es: se pueden poner en el <form> dos onSubmit???
asi:
<form name="form1" method="post" action="pagina.asp" onSubmit="return verifyAddress(this)" onSubmit="return checkrequired(this)">

Bueno ya vi que no me funciona como quiero. Como lo podría solucionar???? traté de hacerlo en el boton de envio, con onClick, pero no me funciona.

Alguien me puede hechar una mano???

gracias.
  #7 (permalink)  
Antiguo 23/04/2003, 03:44
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
zink,

lo más práctico es que llames a una de las funciones y esa función se encargue de llamar a la otra.

Por ejemplo, llamas a la función que te chequea el email.

Si no está bien

if(está mal)
{return false}
else
{funcion2()}

Y así la que devuelva finalmente true o false sería la segunda función
  #8 (permalink)  
Antiguo 23/04/2003, 03:45
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
Algo así

<script language="javascript" type="text/javascript" defer>
function validaEmail(mail)
{
var re = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
if (!re.test(mail)) {
alert ("La dirección de email es incorrecta.");
return false;
}
else
{funcion2()}

}</script>
  #9 (permalink)  
Antiguo 23/04/2003, 09:50
Avatar de zink  
Fecha de Ingreso: mayo-2002
Ubicación: Aguascalientes
Mensajes: 125
Antigüedad: 22 años, 6 meses
Puntos: 0
ok tunait gracias, ya lo resolví
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 18:48.