Foros del Web » Programando para Internet » Javascript »

problema al actualizar ventana al cerrar popup

Estas en el tema de problema al actualizar ventana al cerrar popup en el foro de Javascript en Foros del Web. Hola. He recorrido 20 páginas de este foro y no he dado con la solución. Bien, sé como abrir el popup y actualizar la ventana ...
  #1 (permalink)  
Antiguo 12/01/2005, 05:32
 
Fecha de Ingreso: septiembre-2002
Ubicación: Tarragona
Mensajes: 7
Antigüedad: 21 años, 7 meses
Puntos: 0
problema al actualizar ventana al cerrar popup

Hola. He recorrido 20 páginas de este foro y no he dado con la solución.

Bien, sé como abrir el popup y actualizar la ventana padre al cerrarlo, eso es fácil.

El problema está en que la página a actualizar proviene de la recepción de un formulario y su tratamiento. Cuando al cerrar el popup actualizo dicha página, el navegador me avisa que para actualizarla hay que volver a mandar los datos del POST. Evidentemente no quiero que salga eso.

Lo he probado de otras maneras, sin usar opener.reload() o variantes. Lo he intentado así:

Código:
function tancarFinestra()
{
	opener.location='agenda.php';
	window.close();
}
Y el link que cierra el popup es este:

Código:
<a href="#" onClick="tancarFinestra()">Close window</a>
Decir que tambien he probado dentro de la función tancarFinestra() estas variantes:

opener.location.href='agenda.php';
opener.location('agenda.php');
opener.location.href('agenda.php');

Pero nada, usando opener.location no hace nada al cerrar el popup.

Tambien he probado con opener.open('agenda.php'), pero claro, me abre otra ventana, cosa que no quiero.

¿Alguna solución?

Última edición por reivax_dj; 12/01/2005 a las 05:33
  #2 (permalink)  
Antiguo 12/01/2005, 05:44
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola reivax_dj:

De las formas que has probado, sería mejor:
opener.location.href='agenda.php';

Pero al tratarse de un formulario, tal vez tengas que volver a enviar el formulario desde el popup, o cambiar el código de ese formulario para que detecte si ha recibido información... aunque ese ya sería un asunto de php.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 12/01/2005, 06:00
 
Fecha de Ingreso: septiembre-2002
Ubicación: Tarragona
Mensajes: 7
Antigüedad: 21 años, 7 meses
Puntos: 0
Voy a detallar un poco.

Tengo estos ficheros:

agenda.php -> contiene una tabla con el calendario de una semana dividido por dias y horas
insertar.php -> inserta una cita en un dia y hora especificado (no tiene pq ser de la seman que se visualiza), abriendo un popup para insertar los datos de esa cita
borrar.php -> link en cada cita que abre un pop up para borrar esa cita

Bien, cuando el usuario acaba con el script en insertar.php o borrar.php, muestro un mensaje que todo ha ido bien y un link con cerrar ventana, que es el que contiene el código javascript. Al cerrar el popup, quiero que se actualice la ventana padre que contiene agenda.php (para visualizar los cambios en las citas automáticamente).

En agenda.php tengo un boton de formulario y una lista desplegable, con la que puedes navegar por las semanas (seleccionas una semana y le das al boton "go to week"). Ese es el formulario que me está sacando de quicio, el que cuando quiero actualizar agenda.php al cerrar uno de los popups el navegador pide mandar otra vez los datos.

caricatos, para volver a mandar el formulario a agenda.php desde el popup, ¿como lo hago para mandar los datos de formulario de la ventana de popup a la ventana padre?

Otra solución, que desconozco si se puede, seria que al acabar el tratamiento de los datos del formulario, borrar esos datos del navegador (como un unset). ¿Se puede?

Por si es de interés:

http://matrix.etseq.urv.es/BBG/agenda/index.php

Es simple, todavia no he entrado con el diseño.

Última edición por reivax_dj; 12/01/2005 a las 06:02
  #4 (permalink)  
Antiguo 12/01/2005, 06:09
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

Para enviar los datos a la ventana abridora, es necesario que tenga un atributo name (si no lo tienes se lo puedes asignar con window.name = "principal"; (es un ejemplo)
y en el formulario poner ese nombre de atributo en el target
<form target="principal" action="agenda.php" >

Si quieres borrar los datos del formulario se puede con reset() ... incluso existe un tipo de botón reset similar al boton submit...
con un script del popup sería:

opener.document.forms["tuForm"].reset();

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 13/01/2005, 02:22
 
Fecha de Ingreso: septiembre-2002
Ubicación: Tarragona
Mensajes: 7
Antigüedad: 21 años, 7 meses
Puntos: 0
Lo del boton reset ya lo conozco, sirve para borrar los datos de los campos de un formulario. Yo lo que preguntaba es como borrar esos datos de la cache (no sé si se guardan ahí) del navegador.

De todas formas, lo estoy probando de la otra manera. A ver si lo consigo ya...
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 04:18.