Foros del Web » Programando para Internet » Javascript »

Ventana no carga todo el contenido para imprimir...

Estas en el tema de Ventana no carga todo el contenido para imprimir... en el foro de Javascript en Foros del Web. Muy buenas tardes.. Miren tengo el siguiente problema.. tengo una funcion que muestro a continuacion el cual me genera en otra ventana e imprime su ...
  #1 (permalink)  
Antiguo 11/01/2008, 11:55
Avatar de clustering  
Fecha de Ingreso: octubre-2003
Ubicación: Cochabamba
Mensajes: 95
Antigüedad: 21 años, 2 meses
Puntos: 0
De acuerdo Ventana no carga todo el contenido para imprimir...

Muy buenas tardes..

Miren tengo el siguiente problema.. tengo una funcion que muestro a continuacion el cual me genera en otra ventana e imprime su contenido.. pero a veces abre la ventana para imprimir pero no carga el contenido y se queda ahi.. Mi problema real persiste en que es para imprimir facturas, y no esta permitido re imprimir facturas por tanto si sucede eso tendria que anular y generar otra factura cosa que no quiero hacer.. entonces quiero garantizar que siempre se cargue en la ventana de impresion el contenido de la variable facturaP

Código:
function  imprimirFacturaDirecto()
{
    if(document.getElementById('BanderaOperaciones').value == "no")
    {
        return false;    
    }  
  var ventimp = window.open(' ', 'popimprdfac');
  ventimp.document.write('<LINK href="css/factura.css" rel="stylesheet" type="text/css" media="screen" />');
  ventimp.document.write('<LINK href="css/factura.css" rel="stylesheet" type="text/css" media="print" />');
  ventimp.document.write('<table cellpadding="0" cellspacing="0" border="0" style="width: 200px;">'); //<tr><td 
  ventimp.document.write('<tr><td>');
  ventimp.document.write(facturaP);
  ventimp.document.write('</td></tr></table>');
  ventimp.print( );
  ventimp.close();
    document.getElementById('DibujarFactura').innerHTML = '';
    document.getElementById('FormularioVentas').innerHTML = '';
    document.getElementById('ImporteTotal').value = 0;
    document.getElementById('NombreFactura').value = '';
    document.getElementById('NitFactura').value = '';
    
    document.getElementById('BotonRealizarVenta').value = " Vender Pasajes ";
    document.getElementById('BanderaOperaciones').value = "no";
    document.getElementById('BotonRealizarVenta').onclick = function() { RealizarVentaPasajes();};  
}
Llamo a esta funcion de la siguiente manera

Código:
            facturaA = json[0].extra;
             setTimeout("imprimirFacturaDirecto()",100);
hago una consulta con ajax y cuando todo sale bien asigno a la variable facturaA lo que se tiene que imprimir, luego espero un cierto tiempo y llamo a la funcion que imprimi, funciona correctamente la mayoria de las veces pero a veces ocurre que no logra cargar todo.. no se donde esta el problema..

Antes llamaba sin el setTimeout.. o sea sin esperar un espacio de tiempo ahi casi la mayoria de las veces no me cargaba el contenido de facturaA es por eso que puse ese teimpo de espera..

Bueno gracias por todo..
__________________
Nunca escupas arriba, ni orines contra el viento... :adios:
  #2 (permalink)  
Antiguo 11/01/2008, 18:07
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 7 meses
Puntos: 834
Re: Ventana no carga todo el contenido para imprimir...

Para asegurarte de que eso no ocurra, llamá a window.print() desde el evento onload del tag body de la página a imprimir. Ejemplo:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>test</title>
<
script>
function 
abrir(){
ventana=window.open('','','width=500,height=200');
ventana.document.open();
ventana.document.write("<html><head></head><body onload=\'window.print();window.close();\'>algo</body></html>");
ventana.document.close(); 
}
window.onload=function(){document.getElementById('ppp').onclick=abrir;} 
</script>
</head>

<body>
<p id="ppp">abrir</p>
</body>
</html> 
  #3 (permalink)  
Antiguo 12/01/2008, 07:13
Avatar de clustering  
Fecha de Ingreso: octubre-2003
Ubicación: Cochabamba
Mensajes: 95
Antigüedad: 21 años, 2 meses
Puntos: 0
Re: Ventana no carga todo el contenido para imprimir...

Gracias Panino5001 lo voy a probar y te comento..

Gracias..
__________________
Nunca escupas arriba, ni orines contra el viento... :adios:
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 19:30.