Foros del Web » Programando para Internet » Javascript »

Abrir una pagina externa y en seguida Cerrarla

Estas en el tema de Abrir una pagina externa y en seguida Cerrarla en el foro de Javascript en Foros del Web. Veran lo que necesito es enviar unos datos (POST) que tengo en un formulario a una pagina alojada en un servidor externo y en seguida ...
  #1 (permalink)  
Antiguo 15/10/2012, 17:26
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 17 años, 3 meses
Puntos: 20
Abrir una pagina externa y en seguida Cerrarla

Veran lo que necesito es enviar unos datos (POST) que tengo en un formulario a una pagina alojada en un servidor externo y en seguida cerrarla, ya que estare enviando todos esos datos dentro de un bucle PHP
  #2 (permalink)  
Antiguo 15/10/2012, 18:20
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Abrir una pagina externa y en seguida Cerrarla

buenas...
tu posibilidad de lograrlo dependerá de tu alcance. el servidor que procesa el formulario, ¿es tuyo? ¿tienes acceso? algo que podrías hacer es que como respuesta al procesar los datos, devuelvas un script para cerrar la ventana: self.close(). para abrir una ventana enviando el formulario, le asignas el atributo target al <form>.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 15/10/2012, 18:25
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 17 años, 3 meses
Puntos: 20
Respuesta: Abrir una pagina externa y en seguida Cerrarla

No es mio el servidor, de hecho es un servidor del gobierno, pero afortunadamente mientras me loguee con los datos de usuario correctos y en otra ventana ejecute mi script php en localhost, puedo enviar la informacion, pero como dije solamente de manera manual al hacer click en el boton enviar, Incluso abri un tema en el foro de PHP, para ver si alguien me ayudaba en ese foro tambien
  #4 (permalink)  
Antiguo 16/10/2012, 06:08
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: Abrir una pagina externa y en seguida Cerrarla

No me queda clara la idea.
Según entiendo estás procesando un form desde localhost y el action de dicho form es http://servidorexterno.com/algo.php , y, que como respuesta del submit NO se visualice (cerrarla automaticamente) algo.php.
Basado en lo dicho por @zerokilled, utilizando un target en el form y que el destino de este sea un iframe oculto, se lograría tu cometido
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 16/10/2012, 08:15
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 17 años, 3 meses
Puntos: 20
Respuesta: Abrir una pagina externa y en seguida Cerrarla

Y como seria el envio? por que para mi mala fortuna si agrego un evento onload al formulario y desde ese evento hago formulario.submit me marca un error desconocido en el servidor externo y puesto que no tengo el codigo de dicho servidor no se que pueda ser. Solo me funciona haciendo click manualmente en el boton de enviar
  #6 (permalink)  
Antiguo 16/10/2012, 09:03
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: Abrir una pagina externa y en seguida Cerrarla

Cita:
Iniciado por Sergestux Ver Mensaje
Y como seria el envio? por que para mi mala fortuna si agrego un evento onload al formulario y desde ese evento hago formulario.submit me marca un error desconocido en el servidor externo y puesto que no tengo el codigo de dicho servidor no se que pueda ser. Solo me funciona haciendo click manualmente en el boton de enviar
Un error en un evento entre tu página y un error en la respuesta que puedas obtener en el servidor externo no tiene relación alguna, salvo que tu función para hacer el submit no envíe los parámetros correctos.

Volviendo a lo que querés

<form action="http://serverexterno.com/algp.php" target="iframe_oculto">
....
</form>

<iframe src="about:blank" style="display: none;" name="iframe_oculto" id="iframe_oculto"></iframe>

Obviamente el envío es manual con un boton submit, a lo sumo un evento onsubmit en el form para alguna validación extra.

Ahora, otro detalle que suena ilógico, hablas de un evento onload para hacer el submit, lo que supone un envío automático, pero supone tambien que los campos de tu form tienen valores por defecto, caso contrario no habría posibilidad de modificar nada en el mismo, en ese caso si el php de destino recibe por get, no hace falta el form, basta que el src del iframe sea algo.php?xxx=1&amp;zzz=2, si es post la cosa cambia, ahi si usarías algo como

<form id="consulta">
....
</form>
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function enviar() {
  3. var elform = document.getElementById("consulta");
  4. elform.submit();
  5. }
  6. window.onload = enviar;
  7. </script>

Y finalmente, si no posees el código del php de destino, como sabés como trabaja y cual es el objeto de pasarle valores desde tu localhost? suena extraño al menos

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 16/10/2012, 17:27
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 17 años, 3 meses
Puntos: 20
Respuesta: Abrir una pagina externa y en seguida Cerrarla

Gracias por responder colegas, veran al final de cuentas como lo resolvi, fue con 2 frames el el de arriba tengo los formularios generados donde tengo que hace rclick en cada boton de enviar, en la parte de abajo tengo el servidor externo, que se recarga cada vez que doy click en la parte de arriba.

La razon por la que tuve que hacerlo asi es por el servidor externo es muy lento y en ocasiones no respondia, por lo que tenia que verificar que si se enviaba la informacion de manera manual.

La razon por la que no conozco el codigo es por que es un servidor del gobierno, donde nos dan un formulario para que vayamos subiendo uno por uno a todos los empleados y quise hacerlo de manera mas automatizada ya que la informacion la tenia lista en excel

Etiquetas: externa, formulario, php
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 18:37.