Foros del Web » Programando para Internet » Javascript »

Referenciar a los controles de una Ventana

Estas en el tema de Referenciar a los controles de una Ventana en el foro de Javascript en Foros del Web. Hola! Cómo puedo hacer referencia a los controles (combos, cajas de texto, etc) que tengo en una ventana??? Esta ventana la mando llamar desde el ...
  #1 (permalink)  
Antiguo 17/05/2004, 21:18
 
Fecha de Ingreso: septiembre-2002
Mensajes: 43
Antigüedad: 21 años, 8 meses
Puntos: 0
Referenciar a los controles de una Ventana

Hola!

Cómo puedo hacer referencia a los controles (combos, cajas de texto, etc) que tengo en una ventana??? Esta ventana la mando llamar desde el frame1 de mi página principal. Cuando abro mi ventana y selecciono alguna opción de un combo1 se lanza una página asp que se ejecuta en el frame2 de la página principal. En este asp le digo que dependiendo de la opción que se haya seleccionado en el combo1 de mi ventana se cargue el segundo combo, y justamente ahí es donde tengo mi problema porque hago referencia al control (el segundo combo) así:

nombreVentana.nombreForma.nombreControl.value=algu nValor

pero me dice que el objeto es nulo o no existe!!!

Alguien me podría ayudar en esto?
  #2 (permalink)  
Antiguo 18/05/2004, 00:20
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 5 meses
Puntos: 61
La forma de manejar los combos es un poco complicadilla. Hazlo así:

combo=nombreVentana.document.nombreForma.nombreControl;

elegido=combo.options[combo.selectedIndex].value;

Y elegido contendrá el valor escogido.

Espero que te sirva.
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 18/05/2004, 15:13
 
Fecha de Ingreso: septiembre-2002
Mensajes: 43
Antigüedad: 21 años, 8 meses
Puntos: 0
Hola nuevamente,

Agregué el "document" a la línea de acuerdo a lo que me dices, ya que era lo que estaba faltando pero me sigue marcando lo mismo... no reconoce el nombre de "miVentana" (así le puse a la ventana que abro)

La línea la tengo de hecho así:

miVentana.document.miForma.combo2.length=0

Esta línea de código la tengo en el asp que se ejecuta en mi segundo frame de la página principal. Desde el frame1 abro la ventana desde un link que ahí tengo. Y ya desde la ventana mando a ejecutar el asp en el frame2 pero de la otra página (la principal), pero sigue sin funcionar.... qué estoy haciendo mal???
__________________
Marisol! :corazon:
  #4 (permalink)  
Antiguo 18/05/2004, 15:57
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 5 meses
Puntos: 61
Qué pretendes hacer con length=0? length creo que sólo es de lectura.

al abrir la ventana supongo que la habrás abierto así:

miVentana=window.open("URL","miVentana","width=500 ,height=500");


Por último, como la ventana la abres desde el otro frame, vamos a referirnos a la misma desde dicho frame. Así pon:

parent.frame1.miVentana.document.miForma.combo2.le ngth=0

Dime qué tal te fue!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #5 (permalink)  
Antiguo 18/05/2004, 18:00
 
Fecha de Ingreso: septiembre-2002
Mensajes: 43
Antigüedad: 21 años, 8 meses
Puntos: 0
KarlanKas hola!

Ya por fin funcionó!!!!!, había que referirse a ella desde el frame de donde la abro... :)

Mil gracias por tu ayuda
__________________
Marisol! :corazon:
  #6 (permalink)  
Antiguo 19/05/2004, 00:22
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 5 meses
Puntos: 61
De nada!

Cualquier otra duda ya sabes donde preguntar!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
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 02:45.