Foros del Web » Programando para Internet » Javascript »

problemas con getElementById

Estas en el tema de problemas con getElementById en el foro de Javascript en Foros del Web. Estoy haciendo un codigo que consiste en ir añadiendo cajas de texto con javascript para meter categorias con subcategorias, y subcategorias a las subcategorias, etc ...
  #1 (permalink)  
Antiguo 23/12/2005, 15:54
Avatar de oskarL  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 499
Antigüedad: 19 años
Puntos: 2
Mensaje problemas con getElementById

Estoy haciendo un codigo que consiste en ir añadiendo cajas de texto con javascript para meter categorias con subcategorias, y subcategorias a las subcategorias, etc etc, y asi de forma infinita. Las cajas de texto deben tener un identificador unico para poder mandarlo por formulario.

He hecho un codigo que funciona bien, y los identificadores que va creando para las cajas de texto son 1,2,3,4,... para las categorias principales, 11,12,13,14,...,21,22,23,24,25,... para las subcategorias, 111,112,113,114,...211,212,... etc para las subcategorias, y asi sucesivamente.

El problema que tiene es que no puede haber mas de 9 subcategorias, porque controlo que 'padre' tiene cada subcategoria contando el numero de digitos, y si pongo 10 subcategorias... pues ya tiene un digito mas, jeje.

Tengo un CODIGO QUE FUNCIONA BIEN aunque tiene ese fallo. Si lo quereis copiar y pegar para que veias cual es la idea, pedidmelo




La solucion que le he querido dar es que los codigos sean de la forma 1,2,3,4,... etc para las categorias principales, 1_1,1_2,1_3,1_4,... 2_1,2_2,... 3_1,3_2,3_3, etc... para las subcategorias 1_1_1, 1_1_2,..., 2_1_1,2_1_2,.. etc.

Es entonces cuando viene el VERDADERO PROBLEMA.

Para ir metiendo las cajas de texto, las meto dentro de capas, con el identificador igual a la caja, y dentro de esa capa, meto otra, para poder introducir sus subcategorias, y asi sucesivamente. Utilizo el metodo getElementById y despues innerHTML. El problema surge cuando el getElemntById intenta buscar una capa con el identificador diferente a un numero, o por lo menos eso creo que es lo que pasa. Deja de funcionar



Porque no funciona simplemente con esa pequeña modificacion.

MUCHAS GRACIAS! por adelantado
__________________
Solo hay 10 clases de personas, las que saben binario y las que no.

Última edición por oskarL; 05/05/2006 a las 04:19
  #2 (permalink)  
Antiguo 23/12/2005, 15:55
Avatar de oskarL  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 499
Antigüedad: 19 años
Puntos: 2
Mensaje problemas con getElementById segunda parte

Editado: Mensaje unificado con el anterior
__________________
Solo hay 10 clases de personas, las que saben binario y las que no.

Última edición por oskarL; 05/05/2006 a las 04:20
  #3 (permalink)  
Antiguo 23/12/2005, 19:08
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 19 años, 6 meses
Puntos: 4
si bien no miré todo el codigo me parese que la solución es bastante mas simple:

asignale una letra (o dos , o tres) a cada categoría y luego para llamarlas podes poner:

Cita:
document.getElementById('aaa'+num_cat).......
espero te pueda ser útil, si no , avisa
__________________
by Capitán Buscapina
.
  #4 (permalink)  
Antiguo 23/12/2005, 19:26
Avatar de oskarL  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 499
Antigüedad: 19 años
Puntos: 2
Cita:
Iniciado por Cap.Buscapina
si bien no miré todo el codigo me parese que la solución es bastante mas simple:

asignale una letra (o dos , o tres) a cada categoría y luego para llamarlas podes poner:



espero te pueda ser útil, si no , avisa
No se si acabo de pillar lo que me quieres decir... pero bueno. El caso es que no se puede saber nunca cuantas categorias se va a tener, ni cuantas subcategorias de subcategorias de subcategorias... Por eso hay que generar de manera dinamica. (Copia y pega el primer codigo, que funciona perfectamente)

Los nombres de las capas en las que añado el HTML son de la forma "subcategoria_"+num_categoria Ese num_categoria es el que voy variando.

En el primer codigo iba sumando digitos, es decir, de la categoria 1, sus subcategorias serian 11, 12 y 13, por ejemplo, y las subcategorias de 12 serian 121, 122 y 123.

Esto lo quiero cambiar para añadir un "_" entre los digitos, para que puedan haber mas de 9 categorias, porque, como he dicho antes, cuando las subcategorias de 12 (por ejemplo) llegan a 10... 128, 129, 1210! y esto me suma un digito mas, y tal y como proceso los datos que recibo al enviar el formulario, esto indica que 1210 es una subcategoria de la categoria 121.

Espero haberme explicado bien

Gracias por la respuesta!

PD: el getElementById funciona bien en el primer codigo, en el que solo hay numeros, pero cuando intento añadir el "_" deja de funcionar, y no entiendo porque, ¡esa es la duda!
__________________
Solo hay 10 clases de personas, las que saben binario y las que no.
  #5 (permalink)  
Antiguo 26/12/2005, 13:30
Avatar de oskarL  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 499
Antigüedad: 19 años
Puntos: 2
Mensaje

venga chicos, por favor, copiad el codigo e intentad ayudarme, please!
__________________
Solo hay 10 clases de personas, las que saben binario y las que no.
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 00:19.