Foros del Web » Programando para Internet » Jquery »

imprimir contenido de un dialog jquery

Estas en el tema de imprimir contenido de un dialog jquery en el foro de Jquery en Foros del Web. hola buenos días lo que busco es que por medio de los botones del dialog de jquery, pueda imprimir lo que éste contiene, actualmente estoy ...
  #1 (permalink)  
Antiguo 05/10/2016, 08:52
 
Fecha de Ingreso: septiembre-2015
Mensajes: 58
Antigüedad: 8 años, 7 meses
Puntos: 2
imprimir contenido de un dialog jquery

hola buenos días

lo que busco es que por medio de los botones del dialog de jquery, pueda imprimir lo que éste contiene, actualmente estoy recogiendo un dato como respuesta en ajax y lo envio a otro archivo que me imprime una consulta..

Código Javascript:
Ver original
  1. $("#generar").click(function(){
  2.                 var observaciones = $("#observaciones").val();
  3.                 var parametros = { "tecnico": <? echo $tecnico;?>, "observaciones": observaciones };
  4.                 $.ajax({
  5.                     url: 'generar_salidaH.php',
  6.                     data: parametros,
  7.                     type: 'POST',
  8.                     success: function(respuesta){
  9.                         $('<iframe id="dialog_imprimir" src="ver_salidaH.php?salida=' + respuesta + '"/>').dialog({
  10.                             modal: true, width: 850, height: 400, resizable: false, position: ['center', 100], draggable: false,
  11.                             buttons:{
  12.                                 'Imprimir': function(){
  13.                                    //aca funcion para imprimir el contenido.
  14.                                 },
  15.                                 'Cerrar': function(){
  16.                                     jQuery('#dialog_imprimir').dialog('close');
  17.                                 }
  18.                             }
  19.                         }).width(830).height(390);
  20.                     }
  21.                 });
  22.                 return false;
  23.             });

la idea de cuando se oprima el boton con id "generar", me envia unos datos que son guardados por el archivo de generar_salida.php, luego en el php envio un dato el cual envio al otro archivo de ver_salida.php. Como el archivo lo cargo dentro del iframe en el dialog, la idea sería poder imprimir lo que está dentro de ese iframe. Tengo otra funcion que me imprime el contenido de un div, y funciona bien, es la siguiente:

Código Javascript:
Ver original
  1. function imprimir_div(div, ruta_estilos){ //funcion para imprimir el contenido del div con id=panel
  2.     var objeto = $(div);
  3.     var ventana=window.open('','_blank');
  4.     ventana.document.write(objeto.innerHTML);
  5.     ventana.document.close();
  6.     var css = ventana.document.createElement("link");
  7.     css.setAttribute("href", ruta_estilos);
  8.     css.setAttribute("rel", "stylesheet");
  9.     css.setAttribute("type", "text/css");
  10.     ventana.document.head.appendChild(css);
  11.     ventana.print();
  12.     ventana.close();
  13. }

pero pues el botón del dialog no me va a encontrar el id del div en ésta función, entonces quisiera una idea de como puedo recoger el contenido del dialog y poder imprimirlo.

muchas gracias.
  #2 (permalink)  
Antiguo 05/10/2016, 09:48
 
Fecha de Ingreso: octubre-2007
Mensajes: 273
Antigüedad: 16 años, 7 meses
Puntos: 5
Respuesta: imprimir contenido de un dialog jquery

Ayer mismo estaba yo enfrascado en algo similar, para ello empleé el pluggin JQuery.print, funciona perfecto. Agrega el fichero Jquery.print.js por debajo del la declaración de jquery.js y

Código:
$('.lnkImprimir').on('click', function(e){
  $('#divImprimible').print();
});
Incluso tiene opciones para aplicar estilos al área de impresión. El pluggin se encarga de generar el iframe para no recargar la página.

Etiquetas: contenido, dialog
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:47.