Foros del Web » Programando para Internet » Javascript »

Abrir popup desde formulario

Estas en el tema de Abrir popup desde formulario en el foro de Javascript en Foros del Web. Hola a todos. Necesitaría saber cual es el código para abrir un popup con una medida predefinida desde un formulario, y que la web que ...
  #1 (permalink)  
Antiguo 15/02/2006, 11:25
 
Fecha de Ingreso: mayo-2003
Mensajes: 544
Antigüedad: 21 años
Puntos: 1
Abrir popup desde formulario

Hola a todos.
Necesitaría saber cual es el código para abrir un popup con una medida predefinida desde un formulario, y que la web que muestra el popup sea capaz de recoger los datos del form en método post.

PD: Por si las dudas..., aclaro que el boton "enviar" es una imagen... (<input type="image" src="....)

Gracias
__________________
CSSBoulevar
Recursos para diseñadores y programadores webs
  #2 (permalink)  
Antiguo 15/02/2006, 11:29
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 Flashera

Echa un vistazo a la FAQ-177

Saludos,
  #3 (permalink)  
Antiguo 15/02/2006, 12:06
 
Fecha de Ingreso: mayo-2003
Mensajes: 544
Antigüedad: 21 años
Puntos: 1
Hola!
No es que sea tonta..., pero esta medio confuso, y seguí los enlaces delos mensajes y quedé más mariada
¿alguien me explica?
__________________
CSSBoulevar
Recursos para diseñadores y programadores webs
  #4 (permalink)  
Antiguo 15/02/2006, 12:25
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola Flashera:

La verdad es que los enlaces que hay en el mensaje fue un añadido para un supuesto envío sin un botón submit del formulario.

Te lo explicaré, que creo que será mejor.

Usando una imagen es lo mismo que con un botón submit, así que me centraré en lo que hay que poner en el tag form.

Para enviar un formulario a un popup es obligatorio usar un target en el formulario y no debe ser _blank, sino un nombre que luego se usará en la ventana del popup (segundo parámetro)
Tanto el action, el método y el enctype tal como un formulario normal.

Hasta ahora, como verás, se trata de el mismo sistema de siempre, con la salvedad de el uso del target, que te impediría una validación estricta.

Lo más importante es el uso del evento submit (onsubmit). Debes aprovechar ese evento para abrir una ventana en blanco (1º parámetro como cadena vacía), el nombre de la ventana (2º parámetro) que coincida con el valor asignado al target de la etiqueta form, y el 3º parámetro las opciones de la ventana (muy bien detallada en la FAQ-100 javascript)

Si estás usando el onsubmit para una validación, debes acomodar la apertura de la ventana a la rutina de aceptación del formulario (que pasa la validación y devuelve true)... pero eso por ahora omítelo para probar el sistema.

Si necesitas ayuda no dudes en preguntar.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 15/02/2006, 16:39
 
Fecha de Ingreso: mayo-2003
Mensajes: 544
Antigüedad: 21 años
Puntos: 1
Excelente explicación! pero siempre hay un pero...
Estve probando recopilar todo el código y seguramente estoy haciendo algo mal...
Alguien me puede insertar el codigo correcto?
mil gracias!
__________________
CSSBoulevar
Recursos para diseñadores y programadores webs
  #6 (permalink)  
Antiguo 15/02/2006, 16:50
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
¡Je, je!

<form name="formulario" action="destino.php" target="ventanaForm" onsubmit="window.open('', 'ventanaForm', '')" method="post" >

Cambia el action por el tuyo, y el tercer parámetro del form cámbialo por las características de tu ventana:

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 17/02/2006, 04:03
vio
 
Fecha de Ingreso: octubre-2005
Mensajes: 48
Antigüedad: 18 años, 6 meses
Puntos: 2
abre la ventana como le da la gana

Hola!!!
intento hacer que se abra una ventana nueva al hacer click en un enlace y se envie el formulario. he leido todos los comentarios que habeis puesto y me han servido d mucha ayuda, mi problema es que la ventana nueva se abre como le da la gana!!!!!!

aqui pongo el código
Código PHP:
<form name="cambiarEstado" action="cambiarEstadoReserva.php" target="ventanaForm" onSubmit="window.open('','ventanaForm','toolbars=no, scrollbars=no,resizable=no,width=500,height=300')" method="post">
    <td height="21"><input type="hidden" name="idReserva" value="<? echo htmlspecialchars(stripslashes($fila->id)); ?>"></td>
    <td valign="top"><input type="hidden" name="estadoReserva" value="<? echo htmlspecialchars(stripslashes($fila->estadoReserva)); ?>"></td>
    <td align="left" valign="middle"><li><a href="#" onClick="document.cambiarEstado.submit()">Cambiar estado de la reserva. </a></li></td>
 </form>
No se por qué, pero la nueva ventana no se abre con los atributos que le ordeno (resizable=no, width=500...), entonces la nueva ventana se abre con un tamaño que no es el que le he puesto, se puede ampliar......no m hace caso.
donde esta el error???
gracias!!
  #8 (permalink)  
Antiguo 17/02/2006, 05:58
vio
 
Fecha de Ingreso: octubre-2005
Mensajes: 48
Antigüedad: 18 años, 6 meses
Puntos: 2
el problema puede estar en que las comillas estan mal puestas??
es k ya no se k pensar....
  #9 (permalink)  
Antiguo 17/02/2006, 14:35
 
Fecha de Ingreso: agosto-2003
Ubicación: pachuca,hgo
Mensajes: 132
Antigüedad: 20 años, 8 meses
Puntos: 0
Prueba asi..

Prueba asi....

<form name="QForm" action="traesecu.php" method="post" target="ventana" onSubmit="window.open('traesecu.php','ventana' 'width=360,height=400')">

tal vez te este faltando llamar tu .php dentro de tu window.open..
__________________
just do it
  #10 (permalink)  
Antiguo 17/02/2006, 14:40
 
Fecha de Ingreso: agosto-2003
Ubicación: pachuca,hgo
Mensajes: 132
Antigüedad: 20 años, 8 meses
Puntos: 0
aqui va completo tu codigo..

<form name="cambiarEstado" action="cambiarEstadoReserva.php" target="ventanaForm" onSubmit="window.open('cambiarEstadoReserva.php','ventanaForm','toolbars=no, scrollbars=no,resizable=no,width=500,height=300')" method="post">
<td height="21"><input type="hidden" name="idReserva" value="<? echo htmlspecialchars(stripslashes($fila->id)); ?>"></td>
<td valign="top"><input type="hidden" name="estadoReserva" value="<? echo htmlspecialchars(stripslashes($fila->estadoReserva)); ?>"></td>
<td align="left" valign="middle"><li><a href="#" onClick="document.cambiarEstado.submit()">Cambiar estado de la reserva. </a></li></td>
</form>
***************************
Lo que esta en rojo fue lo que agregué....

Espero te sirva..
__________________
just do it
  #11 (permalink)  
Antiguo 18/02/2006, 12:12
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

vio: No sé si te has fijado en el mensaje referenciado de las FAQs, pero tiene que usarse un botón submit, y de hacerlo con un script, la ventana hay que abrirla antes.

annel_galvez: El sentido de no poner url a la ventana, es que tiene que estar en blanco, para que se envía el form a una ventana vacía, si le pones una url a la ventana, se abre primero la ventana con esa url y luego se envía el formulario a esa ventana, provocando 2 llamadas a la misma dirección, pero la primera sin recibir parámetros... (no tiene sentido... y es un gasto inútil de recursos)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #12 (permalink)  
Antiguo 20/02/2006, 08:40
vio
 
Fecha de Ingreso: octubre-2005
Mensajes: 48
Antigüedad: 18 años, 6 meses
Puntos: 2
vale, gracias x contestar !!
caricatos, quiero enviar el formulario sin botón de submit, entonces tendría que abrir la ventana antes, como tu me dices, pero como lo hago??
  #13 (permalink)  
Antiguo 20/02/2006, 08:49
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola vio:

Si tienes una instrucción document...submit()... bien puedes poner antes window.open(...)

Ejemplo usando un botón normal... (no estaría de acuerdo con el uso de un enlace...):

<button onclick="window.open('', 'ventana', 'width=300,height=200'); document.forms.miFormulario.submit()" > enviar sin submit </button>

Si es una función es lo mismo... antes hay que abrir una ventana en blanco con el mismo nombre del target del formulario...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #14 (permalink)  
Antiguo 20/02/2006, 08:51
vio
 
Fecha de Ingreso: octubre-2005
Mensajes: 48
Antigüedad: 18 años, 6 meses
Puntos: 2
vale, voy a probarlo, a ver si m sale d una vez.
agradezco un montón k contestes tan rápido.

Saludos
  #15 (permalink)  
Antiguo 20/02/2006, 08:56
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
¡Je, je!

He respondido rápido porque estaba... pero ahora me toca dormir la "siesta española"... pero horas más, horas menos... suelo llevar el control de los temas donde participo.

Espero que no tengas problemas.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #16 (permalink)  
Antiguo 23/06/2006, 04:50
 
Fecha de Ingreso: junio-2006
Mensajes: 5
Antigüedad: 17 años, 10 meses
Puntos: 0
abrir popup y pasar un parametro a un action

hola mi porblema es el siguiente

cuando pulso un boton, ejecuto una funcion java escrip que me abre unaa nueva ventana y con el "reqcode" paso por un action desde el qual redirecciono a una paina con el request.forward y me la muestra en la pagina nueva que he habierto.

Lo qu enecesito y no consigo es almismo tiempo pasarle una parametro al action con el cual condicionare la carga de la pagina en la nueva ventana.

haber si alguine sabe como hacerlo gracias.
  #17 (permalink)  
Antiguo 17/10/2007, 09:08
Avatar de JoeMx  
Fecha de Ingreso: febrero-2003
Ubicación: A Km de Aquí.
Mensajes: 1.154
Antigüedad: 21 años, 2 meses
Puntos: 4
Re: Abrir popup desde formulario

Que tal gente de esta comunidad, caramba tenia tiempo que no me la pasaba por aqui.
Queria aprovechar este post para preguntar lo siguiente, ya que mi duda practicamente algo muy similar.
Reulta que tengo un Formulario con un solo campo, lo que quiero es validar dicho campo de manera obligatoria (Que se ingrese una direccion de email), pero ademas de verificar la introduccion de datos, me mostrara un Pop-up de confirmacion de envio de datos.

Hasta Aqui todo bien, sin embargo al momento de darle al boton "submit" me verifica el campo si el mismo esta vacio y me muestra una advertencia, pero al momento de cerrar la ventana de advertencia, se me ejecuta la accion de la ventana de confirmación de envio de datos. Es obvio que no quiero que tambien se me ejecute la ventana de confirmación de envio de datos, cuando se cierra la ventana de advertencia, pidiendole al usuario que introduzca algun dato.

El codigo de mi form es el siguiente.

<form action="<%=MM_editAction%>" target="ventanaForm" onSubmit="MM_validateForm('email','','RisEmail');w indow.open('MM_editRedirectUrl','ventanaForm','too lbars=no, scrollbars=no,resizable=no,width=270,height=280'); return document.MM_returnValue" method="post">

¿Quiero evitar que se me habra la ventana de confirmacion de datos (window.open('MM_editRedirectUrl','ventanaForm','t oolbars=no, scrollbars=no,resizable=no,width=270,height=280'); return document.MM_returnValue") cuando el usuario le da "ACEPTAR" a la ventana de advertencia del navegador. (Dicha ventana se ejecuta cuando el campo de mi form, esta vacio)?

De antemano muchas gracias, y agradezco cualquier orientación.

PD: Mi pagina personal esta inactiva
__________________
"Si lo piensas, es porque si lo puedes hacer"
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 20:21.