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:
Llamo a esta funcion de la siguiente manerafunction 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();}; }
Código:
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.. facturaA = json[0].extra; setTimeout("imprimirFacturaDirecto()",100);
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..