Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/09/2009, 09:46
way2park
 
Fecha de Ingreso: mayo-2008
Mensajes: 224
Antigüedad: 16 años
Puntos: 4
problemas Validar email y formulario

Hola gente !!!

Les cuento, tengo un formulario en php, en el cual estoy haciendo la validacion por medio de una funcion de javascript. Verifica el formulario de la forma normal cuando hacemos click en el submit.
Ahora, para verificar el email puse otra funcion que se ejecuta cuando pierde el enfoque el campo email.

La cosa funciona bien hasta que pongo el email de forma correcta. Cuando ingreso el email bien, la funcion de validacion del form no funciona, pasa el formulario de una.

Osea, hace la validacion de la primera funcion mientras ponga el email mal.

Les pongo aca las dos funciones a ver en que estoy metiendo la pata.

function verifica(){
if(document.form1.apellido.value.length < 2){
alert("Debe ingresar un nombre");
document.form1.apellido.focus();
return false; /
}
if(document.form1.nombres.value.length < 2){
alert("Debe ingresar una marca");
document.form1.nombres.focus();
return false;
}
if(document.form1.email.value.length < 2){
alert("Debe ingresar un email valido");
document.form1.email.focus();
return false;
}
if(document.form1.edad.length <= 0){
alert("Debe ingresar una edad valida");
document.form1.edad.focus();
return false;
}
if(document.form1.altura.length <= 0){
alert("Debe ingresar una altura valida");
document.form1.edad.focus();
return false;
}
if(document.form1.escuela.length <= 0){
alert("Debe ingresar una edad valida");
document.form1.escuela.focus();
return false;
}
if(document.form1.peso.length <= 0){
alert("Debe ingresar un peso valido");
document.form1.peso.focus();
return false;
}else{ //sino enviamos el formulario
document.form1.submit();
}
}

function echeck(str) {

var at="@"
var dot="."
var lat=str.indexOf(at)
var lstr=str.length
var ldot=str.indexOf(dot)
if (str.indexOf(at)==-1){
alert("Correo Invalido")
return false
}

if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
alert("Correo Invalido")
return false
}

if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
alert("Correo Invalido")
return false
}

if (str.indexOf(at,(lat+1))!=-1){
alert("Correo Invalido")
return false
}

if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
alert("Correo Invalido")
return false
}

if (str.indexOf(dot,(lat+2))==-1){
alert("Correo Invalido")
return false
}

if (str.indexOf(" ")!=-1){
alert("Correo Invalido")
return false
}

return true
}

function ValidateForm(){
var emailID=document.form1.email

if ((emailID.value==null)||(emailID.value=="")){
alert("Ingrese su Email")
emailID.focus()
return false
}
if (echeck(emailID.value)==false){
emailID.value=""
emailID.focus()
return false
}
return true
}
</script>



Les cuento, son dos funciones que saque por separado de otros sitios. Los puse por separado porque justamente las comprobaciones de los emails son mas complejas que otro tipo de campos.

como les comente antes, la verificacion del formulario en general va con el boton submit. La verificacion del email va con el onblur.

Alguna idea?