Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/01/2007, 14:17
Rebu82
 
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.