Foros del Web » Programando para Internet » Javascript »

Imprimir solo una sección de la pagina con Javascript

Estas en el tema de Imprimir solo una sección de la pagina con Javascript en el foro de Javascript en Foros del Web. Hola quisiera solo imprimir algunas secciones de mi pagina... por ejemplo... <div id='seccion1'> contenido html y formatos.... </div> <div id='seccion2'> contenido html y formatos.... </div> ...
  #1 (permalink)  
Antiguo 19/06/2009, 21:57
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
Pregunta Imprimir solo una sección de la pagina con Javascript

Hola quisiera solo imprimir algunas secciones de mi pagina... por ejemplo...

<div id='seccion1'>
contenido html y formatos....
</div>


<div id='seccion2'>
contenido html y formatos....
</div>


<div id='seccion3'>
contenido html y formatos....
</div>

Lo que quiero es que el usuario elija en un combo (Imprimir sección 1,Imprimir sección 2,Imprimir sección 3)

y se imprima solo lo que esta en esa sección....


Existirá algo asi?


Saludos.
  #2 (permalink)  
Antiguo 20/06/2009, 01:23
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: Imprimir solo una sección de la pagina con Javascript

Hola:

Puedes crear una hoja de estilos media print, más o menos así:

<style type="text/css" media="print" >
* {display: none;}
.imprimible {display: block;}
</style>

Y luego, si quieres imprimir la capa "seccion1", pones algo así:
document.getElementById("seccion1").className = "imprimible";
print();
document.getElementById("seccion1").className = "";

Tal vez convenga temporizar la última línea... pero mejor pruébalo antes.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 20/06/2009, 14:14
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
Respuesta: Imprimir solo una sección de la pagina con Javascript

no funciona, sale en blanco
  #4 (permalink)  
Antiguo 21/06/2009, 00:10
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: Imprimir solo una sección de la pagina con Javascript

Cita:
Iniciado por richardinj Ver Mensaje
no funciona, sale en blanco
Pues entonces deberías temporizar la última línea (suponiendo que hubieras puesto el código bien (lo de media="print" es fundamental en la estiqueta style...)

En principio prueba quitando la última línea del código anterior... si el resultado te vale avisa.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 21/06/2009, 01:37
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
Respuesta: Imprimir solo una sección de la pagina con Javascript

Muchas gracias por tus respuestas... pero aun solo sale en blanco :(
  #6 (permalink)  
Antiguo 21/06/2009, 04:53
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: Imprimir solo una sección de la pagina con Javascript

Hola:

Tienes razón, pero es fácil la solución:

Al poner el estilo:
* {display: none;}
estaba ocultando hasta los contenedores de esos divs, así que ocultando el body no se muestran las capas dependientes, entonces como display none puedes poner por ejemplo los tags div:

div {display: none;}

Y luego no volver a ocultar la capa hasta que se imprima... por ejemplo, puedes ocultar todas las capas excepto la seleccionada:

<script type="text/javascript" media="print">
function tag(id) {return document.getElementById(id);};
function imprimir(capa) {
secci = ["seccion1", "seccion2", "seccion3"];
for (i = 0; i < 3; i++)
tag(secci[i]).className = (secci[i] == capa) ? "imprimible" : "";
print();
// tag(capa).className = "";

}
</script>

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 03:29.