Foros del Web » Programando para Internet » Javascript »

Cerrar ventana Luego de Actualizar datos

Estas en el tema de Cerrar ventana Luego de Actualizar datos en el foro de Javascript en Foros del Web. Como puedo Cerrar una ventana luego de Actualizar unos datos con un boton que tiene este codigo ? Código PHP: < input type = "submit"  value ...
  #1 (permalink)  
Antiguo 06/10/2005, 14:25
 
Fecha de Ingreso: octubre-2005
Mensajes: 365
Antigüedad: 18 años, 7 meses
Puntos: 0
Cerrar ventana Luego de Actualizar datos

Como puedo Cerrar una ventana luego de Actualizar unos datos con un boton que tiene este codigo ?

Código PHP:
<input type="submit" value="Update record"

Estoy colocando:

Código PHP:
<input type="submit" value="Update record" onafterupdate="MM_callJS('window.close();')"
Y me actualiza los datos pero no me cierra la ventana.

Gracias de antemano.



No funciona con ningua de estas opciones.


Código PHP:
    <input type="submit" value="Update record" onafterupdate="window.close();" "> 
Código PHP:
<input type="submit" value="Update record" onafterupdate="self.close();" "> 
  #2 (permalink)  
Antiguo 06/10/2005, 14:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Deberías explicar mejor tu proceso ..

Esa "ventana" .. la abres desde una "padre" ..? .. que ventana es la que deseas actualizar (supongo que recargar la página?) y cual cerrar (supongo que la ventana abierta?).

Te hago el comentario por qué todo esto lo debes resolver en -javascript- (no en PHP) ..

Un saludo,
  #3 (permalink)  
Antiguo 06/10/2005, 14:35
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Por ejemplo:
...
<script>
function cerrar(){
window.opener = '';
window.close();
}
</script>
</head>
<body onload="cerrar();">
....
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #4 (permalink)  
Antiguo 06/10/2005, 14:58
 
Fecha de Ingreso: octubre-2005
Mensajes: 365
Antigüedad: 18 años, 7 meses
Puntos: 0
Ok, Lo siento, tengo:

1. Una página Madre que abre una pagina hijo en una pequeña.
2. La pequeña es para actualizar los datos de la ventana Madre.

3. Quiero que al hacer click en "Actualizar datos":

* Se actualicen los Datos
* Se cierre la ventana Hija o Pequeña
* Se refresque la ventana "MAdre"

Lo de Actualizar los datos lo tengo.

Necesito el code que al clicar link en actualizar se cierre la ventana chica y se actualice la ventana madre.

Lo he estado intentando como puedne ver.

Saludos y Gracias.
  #5 (permalink)  
Antiguo 06/10/2005, 15:24
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
es:
window.opener.location.reload(); //Actualiza el padre
window.close(); //Cierra la hija.

Esto funciona!, seguramente lo estes mezclando de alguna manera que, o no llega a ejecutarlo, o algo se rompe antes cortando el proceso del js.

Poseta como haces para que se refresque, por que ahi esta tu probelma seguramente.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #6 (permalink)  
Antiguo 06/10/2005, 15:28
 
Fecha de Ingreso: octubre-2005
Mensajes: 365
Antigüedad: 18 años, 7 meses
Puntos: 0
Ok, Nicolaspar gracias por contestar.

en la ventana hija para cerrarla estoy utilizando (Quiero primero que cierre y luego si pongo el code del refresh):

Código PHP:
<input type="submit" value="Update record" onafterupdate="window.close();"
Con este mismo Submit que es el que ejecuta la actualización de los datos.
  #7 (permalink)  
Antiguo 06/10/2005, 15:43
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
No usaria onafterupdate. Personalmente cuando lo he hecho hice lo siguiente.

1- Formulario con datos en popup (ej b.php )
2- Envio el formulario al proceso (ej tambien b.php )
3- Una vez que grabe, ahi hago el js para cerrar.

ej:
popup.php

<?php
if( isset($_POST["nombre"] ){
....insert/update o lo que sea
echo "<script>window.opener.location.reload(); window.close();</script>";exit;
}
?>
Tu Formulario:
<form action="popup.php" method="post" ... >
<input type="text" name="nombre" value="algo">
<input type="sumbit" value="enviar">
</form>

Proba esto en una pagina y te funcionara.

PD: no me parece prudente ni logico el usar onafterupdate ya que ocurre cuando la transferencia de datos desde el proveedor termino, y vos queres cerrar cuando guarde. Por otro lado no se que tan "compatible" sea este evento, y no se si aplica a un type submit.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #8 (permalink)  
Antiguo 06/10/2005, 15:50
 
Fecha de Ingreso: octubre-2005
Mensajes: 365
Antigüedad: 18 años, 7 meses
Puntos: 0
Como de Brujeria Master,

Te debo Una. Y tan Facil que era, la verdad es que fui posteando como loco.

PD: Cuando Quieras te invito de Pachanga con unas amigas de Sofía, que ni te cuento.
  #9 (permalink)  
Antiguo 06/10/2005, 15:54
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Juajaujauajaua
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #10 (permalink)  
Antiguo 06/10/2005, 20:41
 
Fecha de Ingreso: octubre-2005
Ubicación: lindo
Mensajes: 2
Antigüedad: 18 años, 6 meses
Puntos: 0
Cita:
Iniciado por nicolaspar
No usaria onafterupdate. Personalmente cuando lo he hecho hice lo siguiente.

1- Formulario con datos en popup (ej b.php )
2- Envio el formulario al proceso (ej tambien b.php )
3- Una vez que grabe, ahi hago el js para cerrar.

ej:
popup.php

<?php
if( isset($_POST["nombre"] ){
....insert/update o lo que sea
echo "<script>window.opener.location.reload(); window.close();</script>";exit;
}
?>
Tu Formulario:
<form action="popup.php" method="post" ... >
<input type="text" name="nombre" value="algo">
<input type="sumbit" value="enviar">
</form>

Proba esto en una pagina y te funcionara.

PD: no me parece prudente ni logico el usar onafterupdate ya que ocurre cuando la transferencia de datos desde el proveedor termino, y vos queres cerrar cuando guarde. Por otro lado no se que tan "compatible" sea este evento, y no se si aplica a un type submit.
Tengo un problema parecido pero mi pagina A recibe como parametro el usuario, en esta le solicito la clave del producto que a a insertar y con este dato voy a la PAg 2 y a la bd y muestro los registros y solicitos los demas datos, inserto pero quiero cerrar esa ventana y que regrese a pagina A sin perder mi número de usuario y con la PAgina a limpia, Se podrá, GRACIAS
  #11 (permalink)  
Antiguo 07/10/2005, 06:09
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
No comprendo bien, o sea, si en el padre vos tenes por get/querystring una variable al hacer un reload no lo perderas. Pero si necesitas pasar un nuevo valor, vez de usar un location.reload usas un location = 'pagina.extension?variable=valor'. Sigiendo con mi ejemplo sería:

<?php
if( isset($_POST["nombre"] ){
....insert/update o lo que sea
echo "<script>window.opener.location = 'a.php?usuario=".$usuario."'; window.close();</script>";exit;
}
?>
Tu Formulario:
<form action="popup.php" method="post" ... >
<input type="text" name="nombre" value="algo">
<input type="sumbit" value="enviar">
</form>

Espero que sea eso.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #12 (permalink)  
Antiguo 07/10/2005, 06:24
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 20 años, 10 meses
Puntos: 0
Saludos nicolaspar:
Con una de las respuestas que das a este problema me has resuelto practicamente el mio.
He usado este código:

Código:
 
window.opener.location.reload(); //Actualiza el padre
 window.close();
El asunto es si hay alguna forma de que la ventana que se cierra muestre un mensaje de alerta que dure por ejemplo 5 segundos antes de cerrarse y de que no pida confirmación al refrescar la ventana.
La ventana que refresca está hecha en asp.
Gracias
__________________

Espero haber aprendido algo de tí.
A mi padre.

Última edición por ciberpata; 07/10/2005 a las 06:32
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:14.