Foros del Web » Programando para Internet » PHP »

Abrir jquery popup al enviar form

Estas en el tema de Abrir jquery popup al enviar form en el foro de PHP en Foros del Web. Hola, Haber si me explico bien lo que quiero hacer. Tengo que hacer un formulario en el que una vez introducido los datos, los guarde ...
  #1 (permalink)  
Antiguo 19/09/2013, 13:26
 
Fecha de Ingreso: enero-2006
Mensajes: 263
Antigüedad: 18 años, 3 meses
Puntos: 1
Abrir jquery popup al enviar form

Hola,

Haber si me explico bien lo que quiero hacer.

Tengo que hacer un formulario en el que una vez introducido los datos, los guarde en la base de datos, y el resultado de envio lo abra en una ventana jquery popup.

Es decir, que despues de darle al boton enviar, abra una jquery popup, que muestre un mensaje como por ejemplo "Registro realizado."

Espero que me hayas entendido
  #2 (permalink)  
Antiguo 19/09/2013, 13:33
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 8 meses
Puntos: 55
Respuesta: Abrir jquery popup al enviar form

Hola, si lo entendemos, que llevas de avance?
Si no llevas nada, revisa esto.

http://www.php.net/manual/es/languag...s.external.php
http://www.php.net/manual/es/refs.database.vendors.php

Una sugerencia, no deberias hacer un popup; es mejor un div, con position fixed.

Saludos
  #3 (permalink)  
Antiguo 19/09/2013, 19:45
Mariuch
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Abrir jquery popup al enviar form

Es bastante simple. Podés hacer que una vez que tu formulario se envíe, redirija a la página de tu preferencia y con una variable por $_GET que te permita gestionar la aparición de tu popup.

Código PHP:
<?php
    
// Este es el archivo que procesa tu formulario. Acá vas a recibir toda la información y una vez que termines de hacer todo, redireccionarás adonde haga falta

    
header"Location: index.php?envio=ok" ); // Aprovechando la redirección paso una variable que confirme que mi formulario se envio
?>
Y dentro del archivo adonde vaya tu formulario luego de procesarse, en mi caso sería en el arvhivo index.php tenés que hacer lo siguiente:

Código PHP:
<?php
    $confirmar 
= ( isset( $_GET'envio' ] ) ) ? $_GET'envio' ] : false// Primero que nada obtener el contenido de la variable envio que pasamos previamente al redireccionar
    
    // Por último, si envío es ok, insertaremos un bloque de código javascript que mostrará el alerta solicitada
    
if( $confirmar == 'ok' ){
?>
        <script type="text/javascript">
            alert( "Los datos han sido enviados" );
        </script>
<?php    
    
}
?>
Vale aclarar que para mostrar un simple alert, no hace falta que cargues toda la librería de jQuery que es muy pesada. Acá está hecho con JS puro sin usar ningún adicional.
  #4 (permalink)  
Antiguo 20/09/2013, 06:38
 
Fecha de Ingreso: enero-2006
Mensajes: 263
Antigüedad: 18 años, 3 meses
Puntos: 1
Respuesta: Abrir jquery popup al enviar form

Lo de coger las variables $_POST,$_GET, eso ya esta hecho.

Lo unico que necesito es el mensaje de envio realizado correctamente, lo abra en una popup tipo jquery (No javascript)
  #5 (permalink)  
Antiguo 20/09/2013, 07:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Abrir jquery popup al enviar form

Cita:
Iniciado por astrow25 Ver Mensaje
[...] lo abra en una popup tipo jquery (No javascript)
Pues eso es contradictorio, ¿si sabes que jQuery es Javascript o no?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 20/09/2013, 08:29
Mariuch
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Abrir jquery popup al enviar form

Cita:
Iniciado por astrow25 Ver Mensaje
Lo de coger las variables $_POST,$_GET, eso ya esta hecho.

Lo unico que necesito es el mensaje de envio realizado correctamente, lo abra en una popup tipo jquery (No javascript)
Como bien han dicho en la respuesta anterior, jQuery ES javascript. Es una librería que tiene un montón de información en la que dice que cuando vos ponés por ejemplo $("#objeto"); equivale a la instrucción de javascript document.getElementById( "objeto" );

No tiene sentido cargar una librería completa de jQuery para hacer un alert, y si ya lo has hecho es totalmente compatible usar javascript directamente en lugar de usar jQuery.

Igualmente, usando jQuery el alert se escribe de la misma manera así que no hay ninguna diferencia.

Saluos
  #7 (permalink)  
Antiguo 20/09/2013, 10:23
 
Fecha de Ingreso: enero-2006
Mensajes: 263
Antigüedad: 18 años, 3 meses
Puntos: 1
Respuesta: Abrir jquery popup al enviar form

Perdonar, no me explicado bien

Cuando decia lo de no utilizar javascrit, me referia a no abrir el popup mediante la función window.open.

Mil perdones por no haberlo puesto antes.

Un ejemplo de lo que yo querria hacer es un estilo al fancybox, que al pulsar sobre un enlace abre un popup.
  #8 (permalink)  
Antiguo 20/09/2013, 10:30
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Abrir jquery popup al enviar form

Hola:

Cita:
Iniciado por astrow25 Ver Mensaje
Perdonar, no me explicado bien

Cuando decia lo de no utilizar javascrit, me referia a no abrir el popup mediante la función window.open.

Mil perdones por no haberlo puesto antes.

Un ejemplo de lo que yo querria hacer es un estilo al fancybox, que al pulsar sobre un enlace abre un popup.
No sé que has querido arreglar, pero lo has desarreglado del todo

Parece que debes usar un iframe que esté oculto y luego maquillarlo un poco con estilos, usando javascript para mostrrlo luego (cambiando el estilo display o visibility)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #9 (permalink)  
Antiguo 20/09/2013, 10:56
 
Fecha de Ingreso: enero-2006
Mensajes: 263
Antigüedad: 18 años, 3 meses
Puntos: 1
Respuesta: Abrir jquery popup al enviar form

La apertura de la pagina del mensaje de confirmación quiero que sea de los ejemplos de fancybox.

Entendido ahora?
  #10 (permalink)  
Antiguo 20/09/2013, 11:05
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Abrir jquery popup al enviar form

Cita:
Iniciado por astrow25 Ver Mensaje
La apertura de la pagina del mensaje de confirmación quiero que sea de los ejemplos de fancybox.

Entendido ahora?
Huy, ¿por qué te enojas?

Me imagino que ya sabes trabajar con fancybox, ¿cierto?

Si es así entonces muestra como abres un popup y nosotros te damos permiso de modificar tu código.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 20/09/2013, 11:19
 
Fecha de Ingreso: enero-2006
Mensajes: 263
Antigüedad: 18 años, 3 meses
Puntos: 1
Respuesta: Abrir jquery popup al enviar form

Cita:
Iniciado por pateketrueke Ver Mensaje
Huy, ¿por qué te enojas?

Me imagino que ya sabes trabajar con fancybox, ¿cierto?

Si es así entonces muestra como abres un popup y nosotros te damos permiso de modificar tu código.

No me esta enojando, estaba preguntando si se me habia entendido ahora.

Yo normalmente para abrir paginas popup jquery, lo hago de la siguiente manera

Código PHP:
Ver original
  1. <head>
  2. ...
  3. <script type="text/javascript" src="js/jquery.js"></script>
  4. <script type="text/javascript" src="js/jquery.fancybox.js?v=2.1.0"></script>
  5. <script type="text/javascript">
  6.     $(document).ready(function () {
  7.         $(".ifancybox").fancybox({
  8.                 'width': '1000px',
  9.                 'height': '100%',
  10.                 'autoScale': true,
  11.                 'transitionIn': 'true',
  12.                 'transitionOut': 'true',
  13.                 'href': $(this).attr('href'),
  14.                 'window.open': $(this).attr('href'),
  15.                 'type': 'iframe'
  16.             });
  17.         });
  18.     </script>
  19.     <link href="css/jquery.fancybox.css" rel="stylesheet" type="text/css" >
  20. ...
  21. </head>
  22. a class="ifancybox" href="link.php">Link</a>


EL formulario lo tengo generado de la siguiente manera

Código PHP:
Ver original
  1. <form action="mensaje.php" id="newsletter" method="post" >
  2.             <label>Boletín noticias</label>
  3.             <div class="clearfix">
  4.                 <input type="text" onFocus="if(this.value =='Introduce una dirección de email' ) this.value=''" onBlur="if(this.value=='') this.value='Introduce una dirección de email'" value="Introduce una dirección de email" >
  5.                 <a href="#" onClick="document.getElementById('newsletter').submit()" class="btn btn_">subscribir</a>
  6.             </div>
  7.        </form>

Y lo que quisiera conseguir es que la pagina mensaje.php se abra al estilo del link

Gracias
  #12 (permalink)  
Antiguo 20/09/2013, 11:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Abrir jquery popup al enviar form

Pues lo primero que deberías hacer es leer la documentación de fancybox, porque eso se sale completamente del tema de PHP.

Ya cuando aprendas a invocar el popup sin enlaces, es decir, con una instrucción de Javascript entonces podrás ver lo que te hace falta.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 20/09/2013, 11:59
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Abrir jquery popup al enviar form

Ya estás procesando correctamente el formulario y agregando a la base de datos?, en ese caso, solo faltaría activar el fancybox.

Si es así, por favor avisa para mover tu tema a Javascript -> jQuery.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: form, formulario, jquery, popup, registro
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:03.