• Publicidad

Problema al validar

Discute todo acerca de JavaScript así como DHTML o la tecnología AJAX.

Problema al validar

Notapor marcosss » 2007-07-20 04:04 @211

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
marcosss
Perlero nuevo
Perlero nuevo
 
Mensajes: 87
Registrado: 2007-05-14 06:23 @307

Publicidad

Notapor explorer » 2007-07-20 08:27 @394

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.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Validar formulario

Notapor marcosss » 2007-07-22 15:49 @701

Un ejemplo de lo que uso es:
Sintáxis: [ Descargar ] [ Ocultar ]
Using javascript Syntax Highlighting
if (document.getElementById('cCentroOrigen') != null)
    if (f.cCentroOrigen.value!="")
        if (validaTextoSignos(f.cCentroOrigen.value, 'Centro origen')==false)
            return(false);
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4

¿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.
marcosss
Perlero nuevo
Perlero nuevo
 
Mensajes: 87
Registrado: 2007-05-14 06:23 @307

Notapor kidd » 2007-07-23 09:16 @427

Hola,

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

Sintáxis: [ Descargar ] [ Ocultar ]
Using javascript Syntax Highlighting
    if (f.cCentroOrigen && f.cCentroOrigen.value != "")
        if (validaTextoSignos(f.cCentroOrigen.value, 'Centro origen')==false)
            return(false);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4



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


Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor marcosss » 2007-07-23 09:57 @456

si, f es un formulario, pero aunque decis que el código está bien, como explico arriba falla y no sé por qué es
marcosss
Perlero nuevo
Perlero nuevo
 
Mensajes: 87
Registrado: 2007-05-14 06:23 @307


Volver a JavaScript

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados

cron