Foros del Web » Programando para Internet » Javascript »

problema con ventana dialog

Estas en el tema de problema con ventana dialog en el foro de Javascript en Foros del Web. hola a todos. resulta que estoy cargando un archivo php dentro de una ventana dialog, esto funciona bien. el problema radica en que en ese ...
  #1 (permalink)  
Antiguo 18/11/2015, 16:27
 
Fecha de Ingreso: septiembre-2015
Mensajes: 58
Antigüedad: 8 años, 7 meses
Puntos: 2
problema con ventana dialog

hola a todos.

resulta que estoy cargando un archivo php dentro de una ventana dialog, esto funciona bien. el problema radica en que en ese archivo php tengo un select que en el evento "onchange" hace un submit(). y al hacer esto, el dialog se cierra.

ésta es la funcion que estoy usando para abrir el dialog:

Código Javascript:
Ver original
  1. function VerCondiciones() {
  2.             $("#dialog").dialog({width: 1000, height: 600, title:"SOLICITUD DE ACCION",modal: true, show: "slide", hide: "explode"});
  3.     }

y el select que tengo en mi archivo php es:

Código PHP:
Ver original
  1. echo "<td><center><select class='caja' name='NC$i' onchange='submit()' style='color:black'>";
  2.                                     echo "<option selected disabled></option>";
  3.                                     for($n=0;$n<sizeof($array_nc);$n++){
  4.                                         ?><option value="<?php echo $array_nc[$n];?>" <?php if(isset($_POST['NC'.$i])) {  if($_POST['NC'.$i]== $array_nc[$n]){?>selected<?php } } ?> ><?php echo $array_nc[$n];?> </option> <?php
  5.                                     }
  6.                                 echo "<select></center></td>";
  7.                                 echo "<td>";

podría alguien por favor ayudarme, pues la idea es que se abra el archivo como un dialog, no hacerlo en ventanas emergentes ni por ejemplo de un colorbox, ya que la ventana desde la cual se abre este dialog, ya se ejecuta sobre un colorbox.

de ante mano gracias por leer y muchas mas si me pueden ayudar.
  #2 (permalink)  
Antiguo 19/11/2015, 00:59
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: problema con ventana dialog

Saludo.
¿Y porque no agregar un elemento submit?
Pues seguramente es precisamente por el onchange que ocurre el cierre.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 19/11/2015, 07:44
 
Fecha de Ingreso: septiembre-2015
Mensajes: 58
Antigüedad: 8 años, 7 meses
Puntos: 2
Respuesta: problema con ventana dialog

Cita:
Iniciado por mortiprogramador Ver Mensaje
Saludo.
¿Y porque no agregar un elemento submit?
Pues seguramente es precisamente por el onchange que ocurre el cierre.

hola mortiprogramador.

La verdad no entiendo lo que me dices, es que igual soy algo principiante en esto de js. Ahora trato de re estructurar y hago pruebas con mi div y el select asi:

Código HTML:
Ver original
  1. <div id='dialog' style='display:none'>
  2.             <form method='post' name='sa'>
  3.                 <select name='proceso' onchange="sa.submit();">
  4.                    <option></option>
  5.                    <option <?php if(isset($_POST['proceso']) && $_POST['proceso']=="GESTION HUMANA"){ ?>selected<?php } ?> class='uno'>GESTION HUMANA</option>
  6.                    <option <?php if(isset($_POST['proceso']) && $_POST['proceso']=="GESTION DOCUMENTAL"){ ?>selected<?php } ?> class='uno'>GESTION DOCUMENTAL</option>
  7.  </select>
  8.             </form>
  9.         </div>


no se de que forma puedo hacer que el dialog haga el submit sin que se cierre, o existe alguna otra ventana asi como de tipo modal en que lo pueda hacer?
  #4 (permalink)  
Antiguo 19/11/2015, 09:15
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: problema con ventana dialog

Saludo.
A lo que me refiero es a que el select no tenga el evento submit en el onchange.
En vez de eso, hacer un botón de tipo submit que se encargue de eso.
Con eso se puede cambiar la elección en el select tantas veces se quiera,
y solo en el momento de dar clic al botón submit se harìa el envío.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #5 (permalink)  
Antiguo 19/11/2015, 09:41
 
Fecha de Ingreso: septiembre-2015
Mensajes: 58
Antigüedad: 8 años, 7 meses
Puntos: 2
Respuesta: problema con ventana dialog

Cita:
Iniciado por mortiprogramador Ver Mensaje
Saludo.
A lo que me refiero es a que el select no tenga el evento submit en el onchange.
En vez de eso, hacer un botón de tipo submit que se encargue de eso.
Con eso se puede cambiar la elección en el select tantas veces se quiera,
y solo en el momento de dar clic al botón submit se harìa el envío.
ah ya te entiendo.

lo que pasa es que cuando hago el submit en el onchange, tomo ese valor para hacer una consulta a mysql y cargar otros datos, es por eso que necesito hacer el submit dentro del select.
  #6 (permalink)  
Antiguo 19/11/2015, 11:59
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: problema con ventana dialog

Cita:
Iniciado por jmg1189 Ver Mensaje
ah ya te entiendo.

lo que pasa es que cuando hago el submit en el onchange, tomo ese valor para hacer una consulta a mysql y cargar otros datos, es por eso que necesito hacer el submit dentro del select.

Saludo.
¿Los otros datos se cargan en la ventana dialog?
Sí es así, se podría usar ajax en vez del submit.

Sí se cargan otros datos fuera de la ventana dialog, igual,
el botón submit hará el envío a la ventana madre, tal cual
lo hace actualmente el submit del select.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #7 (permalink)  
Antiguo 19/11/2015, 13:37
 
Fecha de Ingreso: septiembre-2015
Mensajes: 58
Antigüedad: 8 años, 7 meses
Puntos: 2
Respuesta: problema con ventana dialog

Cita:
Iniciado por mortiprogramador Ver Mensaje

Saludo.
¿Los otros datos se cargan en la ventana dialog?
Sí es así, se podría usar ajax en vez del submit.

Sí se cargan otros datos fuera de la ventana dialog, igual,
el botón submit hará el envío a la ventana madre, tal cual
lo hace actualmente el submit del select.
de ajax si sé menos jajaj.
Pues ya pude solucionar haciendolo de esta forma:

Código Javascript:
Ver original
  1. $(function() {
  2.         $('a.showPopup').click(function(e) {
  3.             e.preventDefault();
  4.             var $this = $(this);
  5.             var horizontalPadding = 15;
  6.             var verticalPadding = 15;
  7.             $('<iframe id="site" src="' + this.href + '" />').dialog({
  8.                 title: ($this.attr('title')) ? $this.attr('title') : 'Site',
  9.                 autoOpen: true,
  10.                 width: 1050,
  11.                 height: 500,
  12.                 modal: true,
  13.                 resizable: false,
  14.                 autoResize: true,
  15.                 show: "clip",
  16.                 hide: "clip",
  17.                 overlay: {
  18.                     opacity: 0.5,
  19.                     background: "black"
  20.                 }
  21.             }).width(1050 - horizontalPadding).height(500 - verticalPadding);
  22.         });
  23.     });

me abre el dialog dentro de un iframe y se ejecuta perfecto, ahora el problema es que se cuando oprima el boton que guarda los datos que se ingresan en el dialog, se cierre el dialog y se actualice la pagina padre.
  #8 (permalink)  
Antiguo 19/11/2015, 14:19
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: problema con ventana dialog

Saludo.
Pues eso creo yo se soluciona poniendo en el action del form que vaya a la página madre y la actualice, o incluso una función javascript ahí en el dialog que le de valor al elemento window.opener, que sería la madre de este.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #9 (permalink)  
Antiguo 19/11/2015, 14:48
 
Fecha de Ingreso: septiembre-2015
Mensajes: 58
Antigüedad: 8 años, 7 meses
Puntos: 2
Respuesta: problema con ventana dialog



como podria hacerlo dentro de la funcion de javascript. En el iframe cargo la pagina php, la idea es que el boton guardar almacene los datos, y se cierre el dialog y actualice la pagina padre. pero la verdad no se como se pueda hacer, he investigado mucho pero no encuentro como.
  #10 (permalink)  
Antiguo 19/11/2015, 19:51
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: problema con ventana dialog

Cita:
Iniciado por jmg1189 Ver Mensaje
como podria hacerlo dentro de la funcion de javascript. En el iframe cargo la pagina php, la idea es que el boton guardar almacene los datos, y se cierre el dialog y actualice la pagina padre. pero la verdad no se como se pueda hacer, he investigado mucho pero no encuentro como.
Saludo.
Pues tal vez una manera más fácil sea hacer que al dar clic en el botón
se ejecute una función javascript que se encargue de refrescar la ventana padre,
esto teniendo en cuenta lo del window.opener, y llamando al método refresh().

Código Javascript:
Ver original
  1. function Refrescar()
  2. {
  3.  window.opener.refresh();
  4. o
  5. window.opener.location.reload(true);
  6. }
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: html, jquery, 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 21:20.