Ejecuto funciones de la libreria de Sajax, que es la que me enseñaron a usar, para realizar nuevos registros de telefonos del cliente dentro de un popup y mostrarlos inmediatamente en su consulta que es la Padre del popup, el problema esta que mientras lo ejecuto en IE8 funciona bien, pero en Firefox3.6 (FF) y Google Chrome6.0 (GC) parece realizar la funcion para cerrar la ventana, antes que la insercion, apesar de que la insercion esta 2 lineas antes
Código:
en IE despues de activar la funcion para guardar, el nuevo registro se manda y guarda en la base de datos, en la pagina Padre se ve el nuevo telefono al final de la lista y el popup donde hice el registro se cierra automaticamente... todo lindo y funcional.<?php require_once('lib/classTiposTelefono.php'); require_once('lib/classTelefonoCliente.php'); require_once("lib/Sajax.php"); function nuevoTelCli($idCli,$ttel,$tel) { $res=altaTelefonoCliente($idCli,$ttel,$tel); //esta funcion esta contenida en classTelefonoCliente.php y es la que contiene el query "insert into ..." return $res; } Sajax_init(); Sajax_export("nuevoTelCli"); Sajax_handle_client_request(); ?> <html> <head> <script language="javascript" type="text/javascript"> <?php Sajax_show_javascript(); ?> function conter(res) { alert (res); //res es 1 si se hizo la insercion, si ocurre un problema contiene mysql_error() } function guardar() { x_nuevoTelCli(idCli,idTTel,tel,conter); //ejecuta una funcion php atravez del Sajax que realiza la insercion de nuevo telefono window.opener.llenadoTelefonos(); //actualiza los telefonos asociados al cliente que se esta mostrando en la pagina Padre window.close(); //cierra el popup } </script> </head>
pero en FF y GC despues de activar la funcion el popup se cierra... pero en la pagina Padre no se ve un nuevo registro, voy a la base de datos y no hay nuevo registro... como si hubiera cerrado todo antes de mandar llamar la funcion x_nuevoTelCli().
como dato adicional, tengo otro popup para modificaciones, en este se cargan los datos del telefono que se quiere editar, se hacen los cambios y se guardan en la base de datos, se actualiza la vista y se cierra el popup, y este proceso funciona bien en todos los navegadores... solo la insercion es la que da problemas en los otros dos navegadores.
El codigo de este otro popup es muy similar al de inserciones... los dos mandan llamar una funcion de PHP atravez del Sajax, a las dos se les mandan parametros... la unica diferencia es que una es un insert y la otra un update...
se que estara un poco confuso pero no se que mas poner para que me entiendan el problema... por eso no eh encontrado respuesta... no se como explicar el problema.
si se necesita alguna aclaracion... (y seguro asi sera) haganmelo saber.
PD: la respuesta que espero es para saber que puedo hacer para mantener el orden, o si tengo que poner una especie de "pausa" entre la insercion y el close()