Foros del Web » Programando para Internet » Javascript »

enviar formulario desde popup

Estas en el tema de enviar formulario desde popup en el foro de Javascript en Foros del Web. hola gente. tengo una pagina jsp con dos frames.Lo q qiero es q al pulsar en un boton del frame menubar se me habra una ...
  #1 (permalink)  
Antiguo 15/06/2005, 09:26
 
Fecha de Ingreso: junio-2005
Mensajes: 17
Antigüedad: 18 años, 10 meses
Puntos: 0
enviar formulario desde popup

hola gente. tengo una pagina jsp con dos frames.Lo q qiero es q al pulsar en un boton del frame menubar se me habra una pagina en la q aparezca un cuadro de texto y un boton. al pulsar el boton qiero q se envie la informacion al segundo frame (inicio)y q se cierre el popup.
Mi problema esta en como enviar esa info del popup al segundo frame y luego cerrarlo.
He probao esto xo no va, me da error de pagina no encontrada
Código:
<form action="opener.inicio" method="get" name="popup"> 
  <imput type="text" name="mes"> 
  <imput type="submit" value="enviar" onclick="popup.submit()"> 
</form>
Gracias
  #2 (permalink)  
Antiguo 15/06/2005, 09:33
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
Prueba a pedirle algo así

opener.top.nombreDelFrame.document.nombreDelform.s ubmit()
window.close()

eso te debería funcionar sin problemas
  #3 (permalink)  
Antiguo 15/06/2005, 09:41
 
Fecha de Ingreso: junio-2005
Mensajes: 17
Antigüedad: 18 años, 10 meses
Puntos: 0
eso donde lo pongo?
  #4 (permalink)  
Antiguo 15/06/2005, 09:45
 
Fecha de Ingreso: junio-2005
Mensajes: 17
Antigüedad: 18 años, 10 meses
Puntos: 0
es q no se si me he explicao, lo q qiero es mandar el formulario del popup al frame. vamos q lo q qiero mandar es lo que ponga en el cuadro de texto q tengo en el popu hacia el frame (no el q abre el popup, sino el otro).
gracias
  #5 (permalink)  
Antiguo 15/06/2005, 09:52
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
Ah, vale.

pero el valor de ese campo en la popup deberá guardarse en algún lado en el documento del frame, dónde quieres que se guarde? en otro formulario? en alguna variable? necesitamos un contenedor que recoja ese valor, dime cuál es y te pongo el ejemplo
  #6 (permalink)  
Antiguo 15/06/2005, 09:59
 
Fecha de Ingreso: junio-2005
Mensajes: 17
Antigüedad: 18 años, 10 meses
Puntos: 0
mira te explico. el popup manda un mes del año y el frame debe de mostrar informacion relativa a ese mes, luego en el frame tengo:

if (request.getParameter("mes") != null)
//tratamiento de "mes"

Entonces me acabo de dar cuenta q tengo q hacer un submit en el frame para q me capture el parametro "mes",no?
Como lo hago?
asias
  #7 (permalink)  
Antiguo 15/06/2005, 10:13
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
ok, a ver si ahora entendí.

Prueba algo así

<form action="pagina.jsp" method="get" name="popup" onsubmit="this.target=opener.top.nombreDelFrame">
<imput type="text" name="mes">
<imput type="submit" value="enviar">
</form>

Creo que así te debería furular
  #8 (permalink)  
Antiguo 15/06/2005, 10:21
 
Fecha de Ingreso: junio-2005
Mensajes: 17
Antigüedad: 18 años, 10 meses
Puntos: 0
lo he probao y lo q me hace es abrirme otra ventana con la "pagina.jsp?mes=xx"
si al menos fuera al frame q qiero xo ni eso.
intento q me actualice la pagina q le llama, no q abra otra nueva. vaya lio no?
asias.
  #9 (permalink)  
Antiguo 15/06/2005, 10:26
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
Si te abre una ventana nueva es porque no reconoce el nombre del frame que le indicas. Cuidado con las mayúsculas y minúsculas. Te has asegurado de que el nombre del frame sea exacto?
  #10 (permalink)  
Antiguo 15/06/2005, 10:35
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola ricken y tunait

He estado atento a este mensaje porque me parecía un tema interesante y he hecho algunas pruebas. Creo que esto puede servir:
Código:
<form action="tupagina.php" target="ventana"
 onsubmit="opener.top.nombreFrame.window.name = 'ventana'" ...
Saludos,
  #11 (permalink)  
Antiguo 15/06/2005, 10:45
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
Hola JavierB

...otra que se me ocurre es acceder al frame por su posición en el array de ventanas

onsubmit="this.target=opener.top.frames[1]"

pon 1 ó 0 dependiendo de si es el primer o segundo frame declarado
  #12 (permalink)  
Antiguo 15/06/2005, 10:52
 
Fecha de Ingreso: junio-2005
Mensajes: 17
Antigüedad: 18 años, 10 meses
Puntos: 0
pagina de los frames (contabilidad.jsp):

<frameset ....>
<frame src="contbar.jsp" name="bar">
<frame src="continicio.jsp" name="inicio">
</frameset>

Popup:

<form action="contabilidad.jsp" method="get" name="popup" onsubmit="this.target=opener.top.inicio">
<imput type="text" name="mes">
<imput type="submit" value="enviar">
</form>

asi es como lo tengo y me pasa lo mismo
  #13 (permalink)  
Antiguo 15/06/2005, 10: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
¿Envías el form al frameset?

Es decir, es en el frameset (contabilidad.jsp) que tienes esto?

if (request.getParameter("mes") != null)
//tratamiento de "mes"
  #14 (permalink)  
Antiguo 15/06/2005, 10:56
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola tunait

No me ha funcionado, manda el formulario a un nuevo pop-up

Saludos,
  #15 (permalink)  
Antiguo 15/06/2005, 10:56
 
Fecha de Ingreso: junio-2005
Mensajes: 17
Antigüedad: 18 años, 10 meses
Puntos: 0
tb he probao lo de frames[1] y sigue pasando lo mismo
  #16 (permalink)  
Antiguo 15/06/2005, 10:57
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
¿Y la propuesta de Javier, la probaste? (a él le ha funcionado)
  #17 (permalink)  
Antiguo 15/06/2005, 11:00
 
Fecha de Ingreso: junio-2005
Mensajes: 17
Antigüedad: 18 años, 10 meses
Puntos: 0
a ver, en contabilidad.jsp solo tengo declarados los frames. lo del tratamiento de "mes" lo hago en continicio.jsp, q se supone q es el segundo frame.
  #18 (permalink)  
Antiguo 15/06/2005, 11:03
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
Entonces el action del form debería apuntar a continicio.jsp
Aunque igual, eso no explica que lo abra en una ventana nueva.

Lo estás probando en tu computadora local o en algún servidor remoto? si es en un remoto ¿usas algún redireccionador o algo? (algo como un dot.tk)
  #19 (permalink)  
Antiguo 15/06/2005, 11:10
 
Fecha de Ingreso: junio-2005
Mensajes: 17
Antigüedad: 18 años, 10 meses
Puntos: 0
vale he cambiao lo del action a continicio.jsp lo q dice javier me funciona.
ahora a ver si me lo puedes explicar pq no lo entiendo. gracias
estoy en local tunait.
  #20 (permalink)  
Antiguo 15/06/2005, 11:11
 
Fecha de Ingreso: junio-2005
Mensajes: 17
Antigüedad: 18 años, 10 meses
Puntos: 0
eiii me qeda el cerrar la ventanita cnd le de a enviar...
  #21 (permalink)  
Antiguo 15/06/2005, 11:19
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
Ah, pues mira, agrega esto a lo que dijo javier

onsubmit="opener.top.nombreFrame.window.name = 'ventana';window.close()"

Te preguntaba lo que si usabas algún redireccionador como el dot.tk porque eso te agrega un frame extra y tal vez podría ser la razón de que no encontrara el frame concreto. Es decir, habría hecho falta especificar la ruta al frame de una forma más larga. Pero si yá te funciona con lo que propuso javier pues no le des más vueltas
  #22 (permalink)  
Antiguo 15/06/2005, 11:19
 
Fecha de Ingreso: junio-2005
Mensajes: 17
Antigüedad: 18 años, 10 meses
Puntos: 0
vale, le añado self.close().
way muxas asias a los 2...
salu2
  #23 (permalink)  
Antiguo 19/07/2005, 11:09
 
Fecha de Ingreso: agosto-2004
Ubicación: NASA, MIT
Mensajes: 209
Antigüedad: 19 años, 9 meses
Puntos: 0
Puedes poner el codigo?...necesito algo similar. Gracias.
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 08:44.