image
Inicio » Foros » JavaScript

JavaScript

Pasar variable de ventana hija a padre

Volver al foro | Responder | Añadir nuevo tema


De: Server80
Fecha: 11/10/2009
Mensaje:

Hola, buenas noches. Buscando información sobre este paticular encontré una solución al respecto, pasando un valor a un campo del formulario en la ventana padre desde la ventana hija. Mi pregunta es la siguiente: es posible pasar este valor a una variable que no sea un campo de formulario? o en su defecto hay manera de leer este valor en la ventana padre inmediatamente después de cerrar la hija (sin ejecutar el formulario)?. Disculpen la torpeza de mis preguntas, pero soy nuevo en Javascript. Gracias por su tiempo.


Quizás le interese
De: jbosch(vosk)
Util para: 22 personas

Fecha: 11/10/2009
Mensaje:

"...hay manera de leer este valor en la ventana padre inmediatamente después de cerrar la hija..."

despues de cerrar la hija no puedes enviar ni recoger nada, puesto que ya no está. puedes acceder a todos los elementos globales de la ventana patre a traves de 'window.opener'; las variables globales de javascript tambien estaran disponibles bajo el nodo 'window'.

supongamos este script en la ventana padre:

var a=0;
function b() {alert(a);}

y ahora este otro en la ventana hija:

opener.window.a=1;
opener.window.b();

el resultado es un alert que muestra 1. sabiendo esto ya ves que puedes trabajar con cualquier funcion y variable como si estuviera en el mismo documento.

funciona siempre que ambos documentos esten bajo el mismo dominio.

jbosch(vosk)



De: Server80
Util para: 3 personas

Fecha: 13/10/2009
Mensaje:

Gracias jbosch, dime y si quisiera pasar esta variable a php?, se puede?, es complicado?.



De: jbosch(vosk)
Util para: 9 personas

Fecha: 14/10/2009
Mensaje:

si que se puede y no es complicado, pero recuerda que php se ejecuta en el servidor y js en el cliente; para enviar datos al servidor puedes usar un 'form post' indicando los datos que quieres subir, o puedes usar un get sin form (un enlace normal) concatenando los datos como query; ya una vez en el servidor recoges los datos como $_POST (si provienen de un form post) o como $_GET si provienen de un link (o tambien como $_GET si provienen de un form get).

otra forma consiste en usar conexiones asincronas al servidor, es decir peticiones sin necesidad de recargar el documento (nota que lo anterior, tanto el form como el link recargan el documento). para ello puedes usar xml, y creo que ajax se usa para esto, pero no lo he usado nunca. y si quieres otra forma mas casera consiste en usar dos frames, uno oculto y otro del 100%; el frame oculto te servira para las conexiones asincronas (asincronas en relacion a lo que se visualiza porque el frame visible no va a recargarse). en ese frame oculto haces una peticion (post o get, de la forma que te comenté antes) y el resultado lo envias como archivo js o como documento con unicamente js; este archivo llevará una llamada que notificará al documento principal que la descarga de datos ha finalizado; y por ser un documento js podras acceder a los datos descargados desde la principal.

jbosch(vosk)



Volver al foro | Responder | Añadir nuevo tema

Quizás le interese:

WebEstilo.com no se hace responsable de las opiniones que los usuarios puedan verter en cualquiera de los foros existentes.

Si te solucionó el problema pulsa en G+1


Gracias!






Comparte



Última modificación:31 de Agosto de 2017. Spain - Espa�a.
© 1998-2004 por . Todos los derechos reservados.