Ver Mensaje Individual
  #5 (permalink)  
Antiguo 19/12/2007, 12:59
Avatar de rogoelpra
rogoelpra
 
Fecha de Ingreso: abril-2007
Ubicación: Bucaramanga
Mensajes: 246
Antigüedad: 17 años, 1 mes
Puntos: 2
Re: Ejecutar funcion al Cerrar un Popup

Tengo una Ventana uno en donde muestro un listado de clientes desde el cual al dar clic sobre un boton me abre una ventana dos en donde puedo agregar uno nuevo. Lo que deseo es que una vez agregue el nuevo cliente se me cierre la ventana dos y esta accion conlleve a recargar la ventana uno usando como criterios de busqueda el nombre y el nit del nuevo cliente, por tanto la funcion que cierra la ventana dos debe pasar estos 2 datos y ademas recargarme la ventana uno.

En resumen la funcion debe ejecutarse al cerrar la ventana dos y debe pasar los dos datos y recargarme la ventana uno pero la ventana dos debe bloquear la ventana uno hasta que la dos no se cierre.

A continuacion menciono las 2 formas:

1. De esta forma la funcion en cuestion se ejecuta tan pronto cierro la ventana dos, paso los dos datos y recarga la ventana uno pero esta no me bloquea la ventana uno.

Funcion que abre la ventana dos:
Cita:
function createwindow()
{
window.open("am_clientes_add.php","ventana","width =780,height=580,scrollbars=no,center=yes,help=no,s tatus=no,resizable=no");
}
Funcion que cierra la ventana dos:
Cita:
function pasadatos_dos()
{
var nit = document.frm_vent_newclient.val_nit.value;
var nombre = document.frm_vent_newclient.var_text_nomb.value;
window.opener.document.frm_client.nit.value = nit;
window.opener.document.frm_client.nombre.value = nombre;
opener.recargar(); // Funcion que permite recargar la Ventana uno.
close();
}
2. De esta forma la ventana dos bloquea la ventana uno y al cerrarse pasa los datos pero no me recarga la ventana uno.

Funcion que abre la ventana dos:
Cita:
function pagina_muestra(url,nombre)
{
win = window.showModalDialog(url,nombre,"dialogWidth:780 px; dialogHeight:580px; center:yes; help:no; status:no; resizable:no");
}
Funcion que cierra la Ventana dos:
Cita:
function pasadatos()
{
var nit = document.frm_vent_newclient.val_nit.value;
var nombre = document.frm_vent_newclient.var_text_nomb.value;
dialogArguments.frm_client.nit.value = nit;
dialogArguments.frm_client.nombre.value = nombre;
window.opener.recargar(); // Aqui esta el error.
close();
}
En la segunda forma me sale que window.opener es nulo o no es un objeto.

Cual deberia ser la forma de definirlo o como debo hacer para una vez se cierre la ventana dos decirle que ejecute la funcion recargar.

Espero haber sido claro, y espero que puedan ayudarme... DE ANTEMANO MUCHAS GRACIAS.

Última edición por rogoelpra; 19/12/2007 a las 13:09