Problemas al cerrar una ventana en PHP

He estado buscando una respuesta a esta pregunta y de hecho la he encontrado en muchos lugares en internet; pero, o no funciona, o no se adapta a como yo quiero. Bueno, es lo siguiente: tengo un formulario de captura para que el usuario guarde sus datos. Al dar "submit" se llama al formulario que guarda los datos y hasta aquí todo va bien, salvo el detalle que deseo es que este formulario se cierre en automático, después de haber guardado la información y vuelva a quedar en la ventana del formulario de captura. He probado los códigos que vienen en distintos sitios, pero algunos cierran todo el explorador, otros no funcionan de plano y otros sólo funcionan en IE y yo quiero que también funcione en FireFox, opera, etc.

1 respuesta

Respuesta
1
Me surge una duda, ¿la ventana que contiene el formulario es la ventana completa del navegador? Es decir, tu abres esa ventana, ¿y con un vinculo abres el formulario?, después con el botón, esa misma ventana te lleva a otra, ¿es correcto?..
Si es esto, entonces, se trata de "ocultar" la ventana que guarda los datos.. es decir que no sea visto para el usuario que estas haciendo, esto se logra de muchas maneras, pero te recomiendo dos, una que intentes con AJAX, un llamado a guardar los datos, con esto ni siquiera cambias de ventana, es exactamente la misma..
Y la otra, es que después de guardar los datos, llames desde PHP, la sentencia "header", con la que envías la localización a la cual PHP se dirigirá al cabo de terminar las acciones que le indiques, en tu caso la que tiene el formulario para llenar.
Si por el contrario es un "popup", basta con que la cierres con Javascript, y para no cerrar la principal, necesitas asignar un nombre tanto a la ventana original como al popup.. Creo o imagino esto ya lo has intentado..
Necesitaría que me dieras más detalles del funcionamiento de la ventana, para darte alguna ayuda más especifica..
Ok. Gracias por contestar. Mira, efectivamente se trata de ventanas completas, es decir:
1) Aparece la ventana principal desde la cual está el botón "contacto".
2) Al dar clic en "contacto" aparece la segunda ventana completa, donde el usuario captura sus datos. Hay un botón "Enviar".
3) Al dar clic en "Enviar" se llama la siguiente ventana que guarda los datos en el servidor. Y bueno, ésta es la ventana que deseo que se cierre automáticamente para regresar a la ventana anterior.
Espero haberme explicado. Me interesa mucho la opción que me comentas de AJAX. ¿Crees qué podría hacerlo? También te comento que no sé nada de AJAX, pero si me indicas cómo o dónde lo encuentro, te lo agradeceré.
PD: Nuevamente, gracias por tu respuesta. Estaré al pendiente.
Es lo que te comento, al final de ya realizar todos los pasos con los datos, guardarlos y tal, en esa página, usa un:
header("location: pagina.php");
¿Dónde página.php es la página que tiene tu formulario.. Ahora bien, porque abres una segunda ventana completa?.. Sinceramente no entiendo bien a que te refieres, no se si es la misma que tiene el botón de contacto, o bien es una totalmente nueva, que en su caso abres como popup.
Te recomiendo que la dejes en la misma, y así solo mandas a traer a la que valida los datos y la guarda, al final agregas la línea que te comento.
Ahora si quieres hacerlo con AJAX, te recomiendo este tutorial: http://www.cristalab.com/tutoriales/introduccion-a-ajax-con-php-y-formularios-c165l/
Al principio te costará trabajo, pero tomando en cuenta como va la cosa, de que todo es asíncrono, se te hará fácil.
Espero haberme explicado, si tienes alguna duda, con gusto te ayudo.
OK. Imprimiré lo que me comentas para analizarlo. Voy a checar lo de Ajax. Si me surge alguna duda te lo haré saber.
Te agradezco mucho, si hay forma de agradecerte tu ayuda, económicamente... indícamelo, con gusto lo haré pues sé que el tiempo vale oro.
Hasta pronto. Atentamente: Milania García.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas