Como devolver información de otra ventana

Esta es la duda:
Tengo una página donde hay un formulario con un text en blanco, al lado de ese text tengo un link a otra página (que se abre en otra ventana)en donde salen los posibles valores a ese text. Lo que quiero hacer es que yo pueda seleccionar una de las opciones, y que posteriormente esa opción que seleccione aparezca en el text que tengo en la página anterior.

4 Respuestas

Respuesta
1
Existen dos formas de hacerlo, dependiendo de si quieres hacerlo exclusivo de internet explorer o no.
Por lo que me cuentas parece que no, así que lo que hay que hacer es lo siguiente:
En la ventana que abres puedes referenciar a la ventana que la abrió con window. Opener, tanto para acceder a veriables como para llamar funciones.
Ahí va un ejemplo:
Este es el texto del archivo padre:
<html>
<script>
function asignartext( obj, val )
{
document.pt[obj].value = val;
}
</script>
<form name="pt">
<input type="text" name="prueba" value="23">
<input type="button" value="Prueba" onclick="window.open('b.htm')">
</form>
</html>
Este es el texto del hijo, que en este caso se llama b.htm:
<html>
<script>
function asignarpadre( obj )
{
window.opener.asignartext(obj, document.pt.prueba2.value);
}
</script>
<form name="pt">
<input type="text" name="prueba2" value="">
<input type="button" value="Fin prueba" onclick="asignarpadre('prueba')">
</form>
</html>
Como puedes ver, en el hijo se llama a la función que existe en el padre para asignar el valor al campo de texto.
Respuesta
1
Si lo quieres solo para explorer lo mejor es que uses "modal dialog", que te permite hacer precisamente eso, pero solo funciona en explorer:
http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/showmodaldialog.asp
Aqui una version para todos los navegadores:
http://www.eggheadcafe.com/articles/javascript_modal_dialog.asp
Si no, lo que puedes hacer es simularlo.
Desde la ventana hija pones el valor elegido en la padre como:
opener.document.FORMULARIO.CAMPO.value=VALOR;
Respuesta
1
desde la pagina segunda, la hija, puedes hacer parent.document.nombre_de_tu_formulario.nombre_de_tu_text.value = .....
Respuesta
1
Por lo pronto, lo único que se me ocurre que funcione es que la ventana con las opciones, tenga dichas opciones dentro de un form, y que envíe este formulario, con un target equivalente al nombre de la ventana inicial, el que se puede obtener desde javascript con la propiedad window. Name
Y luego de este envío, que el cuadro de texto tome el valor a través de programación de la do servidor, o sea, ASP o PHP, yo solo se de ASP.
Atentamente. Manuel Fernández.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas