Foros del Web » Programando para Internet » Javascript »

Problema: COMBOS DINÁMICOS. El objeto no existe.

Estas en el tema de Problema: COMBOS DINÁMICOS. El objeto no existe. en el foro de Javascript en Foros del Web. Buenas... A ver cómo explico el problema... Tengo una página asp en la que los datos están divididos en dos tablas, por decirlo así. La ...
  #1 (permalink)  
Antiguo 18/01/2007, 14:17
 
Fecha de Ingreso: octubre-2006
Mensajes: 9
Antigüedad: 17 años, 6 meses
Puntos: 0
Pregunta Problema: COMBOS DINÁMICOS. El objeto no existe.

Buenas...

A ver cómo explico el problema...

Tengo una página asp en la que los datos están divididos en dos tablas, por decirlo así. La tabla superior contiene unos "criterios", entre ellos un combo dinámico, cuyas opciones obtengo a través de un iframe oculto que es el que se encarga de realizar la consulta a la base de datos, y con el recordset resultante, poblar el combo referenciando al "parent".

Y tengo una tabla inferior, en la que se pintan dinámicamente los valores seleccionados, o sea, el literal de la opción seleccionada en el combo de arriba. Para pintar abajo uso una función javascript que interpreta el valor del combo de arriba (sus id son únicos) y actualiza la tabla inferior con innerHTML.

Bien, ésto funciona correctamente. Pero éstos datos ahora se guardan en la base de datos. Esta misma página se carga de nuevo con los valores guardados en la base de datos. Por tanto, la manera de proceder es que se pintan los campos, se rellenan los valores de la tabla superior (o sea, el combo al cargarse muestra a selected el valor que se eligió cuando se guardó), y una vez cargados los datos de la tabla de arriba, paso a pintar los de la tabla de abajo (pero usando esa misma función que añade el innerHTML). Pues bien, aquí es donde viene mi problema, cuando esa función quiere obtener los valores del combo de arriba (usando document.getElementById(nombreCombo)). Me salta un error, así como diciendo que el objeto no existe (el combo), y por tanto no me obtiene los valores. Pero lo curioso del tema, es que si pongo entre medias un alert, al continuar, los datos aparecen correctamente. Interpreto que es algo así como que cuando quiero obtener el objeto todavía no se ha creado el combo. Pero en realidad primero se ejecuta la carga del combo (a través del iframe) y luego, cuando ya están todos los datos cargados en la tabla de arriba es cuando llamo a que se pinten los de la tabla de abajo.

Ya no sé qué hacer... he cambiado el orden de llamada a las funciones muchas veces, he puesto esas llamadas al final de cerrar el </body>, el </html> y no sé qué más hacer...

¿Sugerencias?, espero que más o menos entendais el problema.
Gracias y un saludo.
  #2 (permalink)  
Antiguo 19/01/2007, 05:12
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: Problema: COMBOS DINÁMICOS. El objeto no existe.

Hola Rebu82

Podrías probar a llamar a esa función en el evento onload del documento ¿lo has probado?
  #3 (permalink)  
Antiguo 19/01/2007, 05:28
 
Fecha de Ingreso: octubre-2006
Mensajes: 9
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Problema: COMBOS DINÁMICOS. El objeto no existe.

Sí, lo he probado y el efecto es el mismo... cuando se referencian los objetos es como si no se hubiesen creado :(
  #4 (permalink)  
Antiguo 19/01/2007, 09:47
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: Problema: COMBOS DINÁMICOS. El objeto no existe.

Hum ... ¿se puede ver en marcha?
  #5 (permalink)  
Antiguo 19/01/2007, 11:42
 
Fecha de Ingreso: octubre-2006
Mensajes: 9
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Problema: COMBOS DINÁMICOS. El objeto no existe.

Hola!
Pues es imposible porque está dentro de una intranet local. Creo que he logrado solucionarlo, he empezado un poco desde 0 con las funciones que estaba usando, declarando cada variable desde 0 y demás... y parece que se ha solucionado. Me da vergüenza reconocerlo, pero creo que se estaba reutilizando alguna variable con el mismo nombre y que no estaba declarada correctamente :x
A veces me da rabia trabajar así con javascript, con las prisas creo las variables en la misma línea que las uso y debería declararlas todas al comienzo de una función. ¿Hay algún programa o extensión que funcionara como un depurador o intérprete que indique si una variable existe o está duplicada y tal?.

Un saludo y muchas gracias por tu interés :)
  #6 (permalink)  
Antiguo 19/01/2007, 12:35
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: Problema: COMBOS DINÁMICOS. El objeto no existe.

Cita:
Iniciado por Rebu82 Ver Mensaje
Me da vergüenza reconocerlo, pero creo que se estaba reutilizando alguna variable con el mismo nombre y que no estaba declarada correctamente
No te averguences que creo que eso nos ha pasado a todos alguna vez (y quien diga que no, miente cual bellaco)
Cita:
¿Hay algún programa o extensión que funcionara como un depurador o intérprete que indique si una variable existe o está duplicada y tal?.
Pues no lo sé, tal vez el Firebug

Cita:
Un saludo y muchas gracias por tu interés :)
No hay de qué, me alegra que lo pudieras resolver finalmente

Un saludo
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 19:05.