Foros del Web » Programando para Internet » Javascript »

enviar formulario y cerrar ventana

Estas en el tema de enviar formulario y cerrar ventana en el foro de Javascript en Foros del Web. Como puedo conseguir que despues de enviarse un formulario se me cierre automaticamente la ventana que lo contenia?...
  #1 (permalink)  
Antiguo 17/11/2006, 04:48
 
Fecha de Ingreso: noviembre-2006
Mensajes: 25
Antigüedad: 17 años, 5 meses
Puntos: 0
enviar formulario y cerrar ventana

Como puedo conseguir que despues de enviarse un formulario se me cierre automaticamente la ventana que lo contenia?
  #2 (permalink)  
Antiguo 17/11/2006, 05:03
 
Fecha de Ingreso: noviembre-2006
Mensajes: 25
Antigüedad: 17 años, 5 meses
Puntos: 0
enviar formulario y cerrar ventana

Como puedo conseguir que despues de enviarse un formulario se me cierre automaticamente la ventana que lo contenia?
  #3 (permalink)  
Antiguo 17/11/2006, 07:40
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 18 años
Puntos: 58
Código PHP:
<input  type="submit"  value="Consultar"  onclick="window.close()"/> 
A ver si así te vale.
  #4 (permalink)  
Antiguo 17/11/2006, 09:40
 
Fecha de Ingreso: julio-2002
Mensajes: 447
Antigüedad: 21 años, 9 meses
Puntos: 0
Me parece que este tema iría mejor en JavaScript :)

Pensando así en el aire, yo probaría poniendo en la página que recibe el formulario algo como esto:

<body onload="javascript:self.close();">
...

Es decir, cuando termine de cargar la página que avisa que se procesaron los datos del formulario, la cierro con javascript con el evento onload. Igual no recuerdo, pero me parece que el IE te dice algo como: "la página que está visitando está intentando cerrar esta ventana" o sea, que te pide confirmación, habría que probarlo :)

Saludos!
  #5 (permalink)  
Antiguo 17/11/2006, 16:56
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Temas unidos y trasladados al foro de javascript
  #6 (permalink)  
Antiguo 20/11/2006, 03:20
 
Fecha de Ingreso: noviembre-2006
Mensajes: 25
Antigüedad: 17 años, 5 meses
Puntos: 0
Cita:
Iniciado por DeLaVega Ver Mensaje
Me parece que este tema iría mejor en JavaScript :)

Pensando así en el aire, yo probaría poniendo en la página que recibe el formulario algo como esto:

<body onload="javascript:self.close();">
...

Es decir, cuando termine de cargar la página que avisa que se procesaron los datos del formulario, la cierro con javascript con el evento onload. Igual no recuerdo, pero me parece que el IE te dice algo como: "la página que está visitando está intentando cerrar esta ventana" o sea, que te pide confirmación, habría que probarlo :)

Saludos!
Es que no me sale esa pagina pq no sabia como ponerla, Ya que el formulario se envia por correo electronico y lo que pretendo es que una vez enviado el correo se cierre la ventana del formulario
  #7 (permalink)  
Antiguo 20/11/2006, 07:32
 
Fecha de Ingreso: julio-2002
Mensajes: 447
Antigüedad: 21 años, 9 meses
Puntos: 0
No entendí... cuál página no te sale?
  #8 (permalink)  
Antiguo 20/11/2006, 14:28
 
Fecha de Ingreso: noviembre-2006
Mensajes: 25
Antigüedad: 17 años, 5 meses
Puntos: 0
Me referia a que no salia la pagina de confirmacion de que se habia enviado el formulario,pero creo que ya solucione el problemilla. Intente poner el window.close() en el onclick, como decia jossss pero no conseguia nada. Pero al final lo hice asi

<codigo javascript>

function enviaycierra(){
if (confirm('¿Estas seguro de enviar este formulario?')){
document.form1.submit();
alert("Su formulario ha sido enviado, muchas gracias por participar");
window.close();
}}

Con esto ya funciona,aunque sigo abierto a mas sugerencias y dejo la mia aqui por si sirve de ayuda a alguien. Saludos
<input type="button" value="Enviar" onclick="javascript:enviaycierra();"/>
  #9 (permalink)  
Antiguo 20/11/2006, 14:47
 
Fecha de Ingreso: julio-2002
Mensajes: 447
Antigüedad: 21 años, 9 meses
Puntos: 0
Hola, seguro funciona bien así? Pregunto porque generalmente no uso el submit de javascript, pero habría que ver que le de tiempo al server de recibir los datos, a veces pasa que al completar un formulario, el server demora un poco más en contestar... no vaya a ser que te cierre la ventana antes de que haya terminado de enviar los datos del form...

Lo que yo te decía es poner el close en la página de recepción, es decir, la página que procesa los datos del formulario (la que iría en el action del form). Cuando esa página se cargue por completo, quiere decir que el formulario fue enviado (o quizás no, hay que ver también si estás haciendo un chequeo en donde esa página de action te diga que hay algún campo obligatorio que no está completo), ahí la cerraría.

Saludos!
  #10 (permalink)  
Antiguo 21/11/2006, 02:53
 
Fecha de Ingreso: noviembre-2006
Mensajes: 25
Antigüedad: 17 años, 5 meses
Puntos: 0
De momento las pruebas que hice funcionaban,pero lo que dices tb tiene su logica. Tendre que seguir probando. No acabo de entender lo de la pagina que de recepcion...que pagina seria esa? la pagina en la que esta contenida el formulario? Gracias por tu ayuda de la vega :)
  #11 (permalink)  
Antiguo 21/11/2006, 07:30
 
Fecha de Ingreso: julio-2002
Mensajes: 447
Antigüedad: 21 años, 9 meses
Puntos: 0
Hola daknhro, hay 2 opciones.

La primera es que uses una sola página que contenga el formulario y que a su vez lo reciba (no sé si lo estás haciendo en php, asp o cual teconología, en todas se puede). Si lo hacés así, me parece que tendrías que asegurarte que cada "parte" tenga su propio body, para poner en la "parte" que sea la que recibe el formulario el evento onload (me refiero a la que procesa el formulario, por ejemplo si lo ingresás en una base de datos o lo enviás por mail).

La segunda, tener una página A para el formulario y una B para el proceso del mismo. La B sería la que "recibe" el formulario (la que iría en el atributo action del form de la A). Y en la B, en el body debería ir el evento onload.

Saludos!
  #12 (permalink)  
Antiguo 22/11/2006, 02:39
 
Fecha de Ingreso: noviembre-2006
Mensajes: 25
Antigüedad: 17 años, 5 meses
Puntos: 0
La pagina esta construida solo con html y javascript. Mi intencion era usar php, ya que permite bastante juego, pero como el servidor en el que tienen colgada la web no lo soporta y no kieren, de momento,cambiar de alojamiento pues me tuve que resignar a usar solo esas dos herramientas ya que de asp no tengo conocimientos.
Por tanto en el action del formulario lo que hago es enviar un correo electronico con el formulario,por tanto ahi tengo definido el mailto:direccion.
Lo que tu sugieres entonces es que el action me envie a otra pagina y luego...como envio los datos desde esa pagina? Gracias de nuevo por todo :)
  #13 (permalink)  
Antiguo 22/11/2006, 09:10
 
Fecha de Ingreso: julio-2002
Mensajes: 447
Antigüedad: 21 años, 9 meses
Puntos: 0
Claro, y desde esa página, dependiendo la tecnología que uses (ASP, PHP, etc.), usas la sentencia que envía por mail el formulario. Para lo que yo sugiero, es necesario PHP, ASP, etc.

Sino la otra opción que tenés es usar algún sitio gratis que envíe mails (es decir, poniendo ese sitio en el action del form), pero la verdad no conozco, seguramente en el foro de HTML conozcan alguno.

Saludos!
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 11:16.