Programación Web y Scripting > JavaScript

 Pasar Datos Entre Ventanas

(1/1)

5erg10:
Nass a tod@s de nuevo. Tengo un problemilla que ahora mismo no se me ocurre la forma de resolver, a ver si podéis echarme una mano.

La cosa es que tengo una serie de listas desplegables para escoger una fecha (concretamente tres, una para el día, otra para el mes y otra para el año), y detrás añado un botón para abrir un minicalendario en otra página, y la idea es que pinchando en los días de ese calendario, éste se cierre y en las listas desplegables aparezca la fecha elegida. Vamos, algo parecido a lo que hay en ésta página: Avis.

El problema es que lo máximo que he conseguido es que al elegir la fecha en el calendario, en esta "miniventana" aparezca lo que quiero que apareciese en la página principal.

Vamos, que básicamente lo que busco es la forma de pasar unas variables que se encuentren en una página del explorador, a otra ventana, lo cual no sé si es posible.

¿alguien me puede guiar? Muchas gracias ;)

5erg10:
Bueno, después de buscar un rato a ciegas, creo que la mejor opción es usar "window.opener" para cambiar los datos de la página origen.

El problema ahora es que no sé como puedo cambiar las variables que tengo en esa página, es decir, si tengo una variable llamada $dia, ¿cómo podría cambiarla desde la ventana secundaria usando window.opener?

Gracias por la ayuda.

5erg10:
Vale, ya está solucionado. Al final utilicé la siguiente instrucción:

--- Código: Text --- window.opener.location.href="pagina.php?dia="+dia+"&mes="+mes+"&ano="+ano;  Gracias de todas formas ;)

Altareum:
Perdona por no haber contestado antes, es que no vi tu mensaje.
Creo (no estoy del todo seguro), que no se pueden pasar valores a una variable de javascript desde otra ventana, solo enviar por GET.

Igualmente, por lo que comentas de tu script, si puedes hacer que al hacer click en el calendario, 'desplace' la lista hasta la fecha seleccionada sin necesidad de recargar la página.
Esto lo puedes hacer de la siguiente manera:


--- Código: Text --- <select id="dia">  <option value="1">01</option>  <option value="2">02</option>  <option value="3">03</option>  <option value="4">04</option></select>  Y en el calendario pones:

--- Código: Text --- window.opener.document.getElementById('dia').options[2].selected = 'true';  
Espero que te sirva (y funcione ya que no he tenido tiempo de provarlo).
Salduos.
Altareum.

5erg10:
Pues muchas gracias, ahora va bastante mejor y más rápido.

Un saludo y :gracias: de nuevo :P

Navegación

[0] Índice de Mensajes

Ir a la versión completa