Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/07/2013, 02:39
joselegolas
 
Fecha de Ingreso: marzo-2013
Mensajes: 83
Antigüedad: 11 años, 1 mes
Puntos: 0
Cerrar ventana modal

Hola a todos,

En el discurso normal de una web en php, tengo un botón tal como éste:

Código HTML:
Ver original
  1. <a href="Mostrar accion.php?idReunion=2" class="clsVentanaIFrame"tamano="G" rel="Detalle de la accion" title="Ver detalles"><img src="/Imagenes/Buscar.png"/></a>

el cual mediante javascript me genera un iframe, este es el código:

Código Javascript:
Ver original
  1. $(function(){
  2.     //evento que se produce al hacer clic en el boton cerrar de la ventana
  3.     $('.clsVentanaCerrar').live('click',function(eEvento){
  4.         //prevenimos el comportamiento normal del enlace
  5.         eEvento.preventDefault();
  6.         //buscamos la ventana padre (del boton "cerrar")
  7.         var $objVentana=$($(this).parents().get(1));
  8.         //cerramos la ventana suavemente
  9.         $objVentana.fadeOut(300,function(){
  10.             //eliminamos la ventana del DOM
  11.             $(this).remove();
  12.             //ocultamos el overlay suavemente
  13.             $('#divOverlay').fadeOut(500,function(){
  14.                 //eliminamos el overlay del DOM
  15.                 $(this).remove();
  16.             });
  17.         });
  18.     });
  19.    
  20.     $('.clsVentanaIFrame').on('click',function(eEvento){
  21.         //prevenir el comportamiento normal del enlace
  22.         eEvento.preventDefault();
  23.         //obtenemos la pagina que queremos cargar en la ventana y el titulo. esto es una anotación para pasar variables por GET-->+$('#Nombre').val()
  24.         var strPagina=$(this).attr('href'), strTitulo=$(this).attr('rel');
  25.        
  26.         //creamos la nueva ventana para mostrar el contenido y la capa para el titulo
  27.         var $objVentana=$('<div class="clsVentana'+$(this).attr('tamano')+'">'), $objVentanaTitulo=$('<div class="clsVentanaTitulo">');
  28.        
  29.         //agregamos el titulo establecido y el boton cerrar
  30.  
  31.         $objVentanaTitulo.append('<a href="" id="cerrar" class="clsVentanaCerrar"><img src="/Imagenes/Iconos/Cancelar.png" width="17" height="17" border="0"</></a>');
  32.         $objVentanaTitulo.append('<a href="" id="Eliminar" class="clsVentanaEliminar"><img src="/Imagenes/Eliminar.png" width="16" height="16" border="0"</></a>');
  33.         $objVentanaTitulo.append('<a href="" id="Editar" class="clsVentanaEditar"><img src="/Imagenes/Editar.png" width="16" height="16" border="0"</></a>');
  34.         $objVentanaTitulo.append('<strong>'+strTitulo+'</strong>');
  35.        
  36.         //agregamos la capa de titulo a la ventana
  37.         $objVentana.append($objVentanaTitulo);
  38.        
  39.         //creamos la capa que va a mostrar el contenido
  40.         var $objVentanaContenido=$('<div class="clsVentanaContenido'+$(this).attr('tamano')+'">');
  41.        
  42.         //agregamos un iframe y en el source colocamos la pagina que queremos cargar ;)
  43.         $objVentanaContenido.append('<iframe name="EsIframe" name="EsIframe" src="'+strPagina+'">')
  44.        
  45.         //agregamos la capa de contenido a la ventana
  46.         $objVentana.append($objVentanaContenido);
  47.        
  48.         //creamos el overlay con sus propiedades css y lo agregamos al body
  49.         var $objOverlay=$('<div id="divOverlay">').css({
  50.             opacity: .5,
  51.             display: 'none'
  52.         });
  53.         $('body').append($objOverlay);
  54.        
  55.         //animamos el overlay y cuando su animacion termina seguimos con la ventana
  56.         $objOverlay.fadeIn(function(){
  57.             //agregamos la nueva ventana al body
  58.             $('body').append($objVentana);
  59.             //mostramos la ventana suavemente ;)
  60.             $objVentana.fadeIn();
  61.         })
  62.     });
  63. });

Como veis, tengo un botón de cerrar esta ventana modal con clase (class="clsVentanaCerrar"), que si hago click sobre el, efectivamente me la cierra, pero resulta que dentro de esta ventana modal, hago una llamada a Ajax (guardar accion.php) para que me guarde el formulario, así que lo que quiero es que al terminar de guardar el formulario, la ventana modal se cierre automáticamente, he provado insertando el siguiente código al final de "guardar accion.php"

Código Javascript:
Ver original
  1. $('.clsVentanaCerrar').click ();

e incluso este si resultado también

Código Javascript:
Ver original
  1. $('.clsVentanaCerrar').trigger('click');

Última edición por joselegolas; 13/07/2013 a las 02:44