Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Problema al validar

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Javascript
Mensaje Vie Jul 20, 2007 3:04 am
marcosss
Perlero Nuevo
Perlero Nuevo
Registrado: 14 May 2007
Mensajes: 87
Problema al validar Responder citando

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
Mensaje Vie Jul 20, 2007 7:27 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4222
Ubicación: Valladolid, España
Responder citando

Si utilizas iteradores sobre la colección de objetos del formulario, debería recorrerte solo los elementos del formulario que el motor HTML ha creado en el cliente web.

Es decir, en vez de hacer un estilo de programación basado en banderas de si existe o no ciertas partes, quizás lo más cómodo es hacer un bucle for por la colección de objetos que cuelgan del raíz del form. Y dentro de eso for, con los if, decidir el tipo de comprobación que hay que hacer en función del nombre, ID o tipo de objeto de formulario.

Así te aseguras que estás chequeando solo lo que el usuario está viendo en ese momento.
Mensaje Dom Jul 22, 2007 2:49 pm
marcosss
Perlero Nuevo
Perlero Nuevo
Registrado: 14 May 2007
Mensajes: 87
Validar formulario Responder citando

Un ejemplo de lo que uso es:
Javascript:
if (document.getElementById('cCentroOrigen') != null)
    if (f.cCentroOrigen.value!="")
        if (validaTextoSignos(f.cCentroOrigen.value, 'Centro origen')==false)
            return(false);

¿Es correcto? Es que si hay algún elemento que el usuario no ha creado (por ejemplo el cCentroOrigen) el script falla y no se valida nada y no sé si es el código con el que valido.

Si pudieseis echarme una mano... Gracias.
Mensaje Lun Jul 23, 2007 8:16 am
kidd
Creador de Perl en Español
Creador de Perl en Español
Registrado: 15 Oct 2003
Mensajes: 1390
Ubicación: México
Responder citando

Hola,

Pues tu código parece estar bien, pero incluso lo hubieras podido hacer de la siguiente manera:

Javascript:
    if (f.cCentroOrigen && f.cCentroOrigen.value != "")
        if (validaTextoSignos(f.cCentroOrigen.value, 'Centro origen')==false)
            return(false);



Lo que no sé, es que tipo de objeto es f, me imagino que es un formulario ¿no?


Saludos
Mensaje Lun Jul 23, 2007 8:57 am
marcosss
Perlero Nuevo
Perlero Nuevo
Registrado: 14 May 2007
Mensajes: 87
Responder citando

si, f es un formulario, pero aunque decis que el código está bien, como explico arriba falla y no sé por qué es
Publicar nuevo tema   Responder al tema    Foros de discusión -> Javascript Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group