Foros del Web » Programando para Internet » Jquery »

como cerrar ventana jquery dialog?

Estas en el tema de como cerrar ventana jquery dialog? en el foro de Jquery en Foros del Web. Mi pregunta es como cerrar automaticamente la ventana de dialogo jquery UI. Se que con setTimeout funcionaria ok. Pero primero necesito saber como cerrar la ...
  #1 (permalink)  
Antiguo 16/11/2009, 13:01
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
como cerrar ventana jquery dialog?

Mi pregunta es como cerrar automaticamente la ventana de dialogo jquery UI.

Se que con setTimeout funcionaria ok. Pero primero necesito saber como cerrar la ventanita de dialogo.

$("#dialog").dialog("close"); // no funciona

$("#dialog").hide(); // tampoco funciona.

Teniendo la funcion, esto quedaria asi:

setTimeout('$("#dialog").dialog("close");',1500);}

saben como hacerlo?
  #2 (permalink)  
Antiguo 16/11/2009, 18:37
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 19 años
Puntos: 281
Respuesta: como cerrar ventana jquery dialog?

que raro. se supone que dialog("close") lo cierre. te lo digo porque eso es lo que usa los botones que cierran los dialogs:

Código js:
Ver original
  1. buttons: {
  2.     Ok: function() {
  3.         $(this).dialog('close');
  4.     }
  5. }


Una pregunta, ¿por qué tienes '$("#dialog").dialog("close");' metidos en comillas simples? ¿eso no hace que se interprete como string?
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #3 (permalink)  
Antiguo 16/11/2009, 18:43
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: como cerrar ventana jquery dialog?

Eso que decis es para que funcione dentro de setTimeout(). Ahora no probe sin comillas, pero creo que da error porque es una funcion bastante quisquillosa.

Editado: efectivamente, setTimeout() sin comillas simples da error.


Probe esto para ver si la ventana esta abierta y me devuelve undefined:
alert( $("#dialog").dialog( 'isOpen' ) );

O sea que no se puede operar con una ventanita abierta?

Última edición por mayid; 16/11/2009 a las 18:50
  #4 (permalink)  
Antiguo 16/11/2009, 18:50
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 19 años
Puntos: 281
Respuesta: como cerrar ventana jquery dialog?

Ya veo. Yo no se mucho de js así que no sabía lo de las comillas. se supone que puedas correr una función en el setTimeout, no? Por que no intentas:

Código js:
Ver original
  1. setTimeout("cerrarDialog()",1500);

Y luego haces una función que cierre el dialog. como te digo, estoy disparando al aire ya que no he usado setTimeout().
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #5 (permalink)  
Antiguo 16/11/2009, 18:54
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: como cerrar ventana jquery dialog?

Gracias, pero no es ese el punto. Se trata de que aun en terreno liso no encuentro respuesta del dialog(). Por ejemplo:

$("#dialog").html("no hay ninguna foto seleccionada").dialog({resizable: false, draggable: false,autoOpen: false,title:'Error'}).dialog('open');

alert($("#dialog").dialog( 'isOpen' ));

$("#dialog").dialog( 'Close' )

Ninguno de estos segundos renglones funciona. Quizas porque los ejecuto muy enseguido al dialog('Open')?
  #6 (permalink)  
Antiguo 16/11/2009, 19:07
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: como cerrar ventana jquery dialog?

Probe con tu sugerencia pero me da error Object expected. Cosa rara. Ni siquiera anulando las acciones anda:

function cerrar(){
/*$("#dialog").dialog( "close" );
alert($("#dialog").dialog( "isOpen" ));*/
};
setTimeout("cerrar()",500);


Tengo un proyecto con varios setTimeout() que usan comillas, y usan jquery dentro. Incluso tengo uno sin comillas. Y todo funciona.

Aqui el problema es que las funciones de dialog() no funcionan, y quiero retrasarlas un poco para ver si no es por llamarlas todas de corrido. Y ademas quiero que la ventanita esta un segundo o dos abierta antes de cerrarse.
  #7 (permalink)  
Antiguo 17/11/2009, 14:52
 
Fecha de Ingreso: agosto-2008
Mensajes: 3
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: como cerrar ventana jquery dialog?

Al ejecutar alert($("#dialog").length);

que te muestra?
  #8 (permalink)  
Antiguo 17/11/2009, 15:47
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 19 años
Puntos: 281
Respuesta: como cerrar ventana jquery dialog?

pues que raro. me gustaría hacer algunas de esas pruebas ya que yo uso dialog en el interface del área administrativa de mi CMS, aunque en estos momentos tengo muy poco tiempo.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #9 (permalink)  
Antiguo 17/11/2009, 16:15
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: como cerrar ventana jquery dialog?

Al ejecutar

alert($("#dialog").length);

me devuelve 1
  #10 (permalink)  
Antiguo 18/11/2009, 14:00
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: como cerrar ventana jquery dialog?

Estoy probando cerrar la ventana desde adentro, usando el evento open:

open: function(event, ui) { setTimeout("alert('anda'); $('this').dialog('close');",1500); }, draggable: false, etc etc.

Me hace el alert, pero no me cierra la ventana. Tampoco reemplazando $(this) por el nombre del div.

Ustedes usan un div para cada mensaje, o un solo div para todos los mensajes?
  #11 (permalink)  
Antiguo 18/11/2009, 15:23
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: como cerrar ventana jquery dialog?

Me funciono en otra pagina.

Hice la prueba en otro lugar, que tiene una sola ventana dialog, y funciona. Quizas el problema este en que para un mismo div tengo pautados diferentes mensajes?

Esto anda:
Cita:
$("#dialog").html(respuesta).dialog({ resizable: false, draggable: false, closeOnEscape: true, title: 'Llevar palabra a mi nube' , autoOpen: false, position: 'top'}).dialog('open');
setTimeout('$("#dialog").dialog("close");',1000);
  #12 (permalink)  
Antiguo 18/11/2009, 17:39
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 19 años
Puntos: 281
Respuesta: como cerrar ventana jquery dialog?

¿y el div es "dialog"? si es así, ¿quieres cerrar varios dialogs a la vez? Creo que sería mejor que pongas el HTML, ¿no? Ahora estoy bastante curioso.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #13 (permalink)  
Antiguo 18/11/2009, 17:47
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: como cerrar ventana jquery dialog?

Como dije, en otra pagina esta funcionando ok.

Mi html (el que no funciona) tiene esto:

<div id='dialog' title='Inicio de sesion'></div>
<div id='eliminar' title='Eliminar'></div>

El primero es el que recibe las respuestas del login y del registro de usuarios nuevos. Las respuestas pueden ser varias (ej: ya existe el nombre de usuario). Pero los dialog se abren solo al recibir una respuesta via ajax o json.

Respondiendo entonces a tu pregunta, no estoy cerrando varios dialog a la vez porque no los tengo inicializados.

El resto del "html" no tiene que ver con esto, que en realidad es jquery:

Cita:
if (foto==undefined) {
$("#dialog").html("no hay ninguna foto seleccionada").dialog({resizable: false, open: function(event, ui) { setTimeout("$('#dialog').dialog('close');",1500); }, draggable: false,autoOpen: false, title:'Error'}).dialog('open');}
Cita:
$("#dialog").html(descripcion).dialog({ resizable: false,
draggable: true,
closeOnEscape: true,
autoOpen: false,
position: 'center',
hide: "fadeOut",
title:'Edicion'}).dialog('open');
DIcho sea de paso, en la version nueva, que funciona, estuve probando la opcion hide : 'slide' y eso provoca que no pueda cerrar la ventanita. Probe varias sintaxis y varios efectos pero eso genera conflicto y no puedo cerrar la ventanita. Es decir, encontre otro problema con dialog, ya habiendo solucionado, a medias, el anterior.
  #14 (permalink)  
Antiguo 18/11/2009, 18:14
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 19 años
Puntos: 281
Respuesta: como cerrar ventana jquery dialog?

ya veo. solo tenía curiosidad del proceso que querías seguir. a mí también me ha dado problemas agregar efectos a las transiciones del dialog, aunque tampoco me ha dado tiempo de experimentar mucho con eso.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 17:39.