Foros del Web » Programando para Internet » Javascript »

Problema al validar

Estas en el tema de Problema al validar en el foro de Javascript en Foros del Web. Estoy validando un formulario con un script en javascript y me pasa una cosa rarísima, funciona cuando le da la gana. A ver, si yo ...
  #1 (permalink)  
Antiguo 20/07/2007, 03:00
 
Fecha de Ingreso: febrero-2007
Mensajes: 138
Antigüedad: 17 años, 9 meses
Puntos: 0
Problema al validar

Estoy validando un formulario con un script en javascript y me pasa una cosa rarísima, funciona cuando le da la gana. A ver, si yo tengo en una formulario algunas partes variables, es decir, puede que estén creadas o puede que no (en código php lo controlo consultando a la base de datos y preguntando si el nº de filas que devuelve la consulta es >0) si en javascript en la validación yo pongo para validar esa parte (porque obviamente a priori yo no sé si las tiene creadas) ¿puede que no me funcione el script entero de validación si no existe alguna de esas partes?


Gracias
  #2 (permalink)  
Antiguo 20/07/2007, 03:33
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Re: Problema al validar

Hola:

"A ciegas" es difícil responder. Copia la parte de la página (procura que no sea php) que te da el problema y tu función validadora.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 20/07/2007, 04:27
 
Fecha de Ingreso: febrero-2007
Mensajes: 138
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Problema al validar

Es que es muy larga (son 2000 líneas de código) pero creo que sé donde está el fallo. Es que yo al validar lo hago de esta manera:

if (f.cCentroDestino.value!="")
if (validaTextoSignos(f.cCentroDestino.value, 'Centro destino')==false)
return(false);


validaTextoSignos es una función que funciona bien y valida al campo pasado por parámetro, pero mi problema es que antes de hacer todo esto creo que tendría que ver si ese campo realmente existe en mi formulario (porque como dije antes hay campos que pueden aparecer o no aparecer, según los haya creado el usuario o no), yo creo que tendría que quedar algo de la forma:

if existe ese objeto en el formulario
if (f.cCentroDestino.value!="")
if (validaTextoSignos(f.cCentroDestino.value, 'Centro destino')==false)
return(false);


He encontrado algo por ahí:

if (f.cCentroDestino.value in document.forms['fo1'])
if (f.cCentroDestino.value!="")
if (validaTextoSignos(f.cCentroDestino.value, 'Centro destino')==false)
return(false);

Pero no me funciona, no sé si es que yo la pongo mal o esa sentencia no vale....gracias
  #4 (permalink)  
Antiguo 20/07/2007, 04:55
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Re: Problema al validar

Hola:

Si tu operador "in" pretende ser "pertenece a un conjunto" como si fuese el lenguaje Pascal o Modula, lo estás usando mal... la pertenencia te la tienes que trabajar de otra manera...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 20/07/2007, 05:06
 
Fecha de Ingreso: febrero-2007
Mensajes: 138
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Problema al validar

¿Por ejemplo así?

if (document.getElementById('cCentroOrigen') != null)
if (f.cCentroOrigen.value!="")
if (validaTextoSignos(f.cCentroOrigen.value, 'Centro origen')==false)
return(false);
  #6 (permalink)  
Antiguo 20/07/2007, 06:47
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 21 años, 6 meses
Puntos: 3
Re: Problema al validar

Supongo que esa sería una manera.

mediante
document.getElementById('cCentroOrigen') != null

compruebas si existe dicho elemento en el documento, pero en este caso creo que no valdría si no tuvieras el atributo id="cCentroOrigen", aunque sí que tuvieras el atributo name="cCentroOrigen"


de todas formas no estoy seguro 100% de si estoy en lo cierto con lo que digo.
  #7 (permalink)  
Antiguo 22/07/2007, 14:46
 
Fecha de Ingreso: febrero-2007
Mensajes: 138
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Problema al validar

Pero entonces ¿alguien sabe si el código que puse antes está bien?


if (document.getElementById('cCentroOrigen') != null)
if (f.cCentroOrigen.value!="")
if (validaTextoSignos(f.cCentroOrigen.value, 'Centro origen')==false)
return(false);
  #8 (permalink)  
Antiguo 22/07/2007, 15:31
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 1 mes
Puntos: 45
Re: Problema al validar

Eso debería funcionar, aunque supongo que también puedes utilizar

if( (f.cCentroOrigen) && (validaTextoSignos(f.cCentroOrigen.value, 'Centro origen')==false) )


Si tienes duda acerca de qué devuelve cada condición puedes usar alert() o document.write() y lo averiguarás.

Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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:28.