2016-08-12 6 views
0

Eine Webseite hat <form>, die zum Drucken an den Drucker gesendet werden muss. Tastatur Cmd + P wird die ganze Seite drucken, die nicht das ist, was ich will.HTML-Seite im Formularelement drucken

Ich verdrahtete das Ereignis mit einer Schaltfläche in der Fußzeile, aber nicht sicher, wie nur der form Inhalt an den Drucker gesendet wird. Irgendeine Idee wie?

$('form').get(0).innerHTML

+3

einen Druck CSS-Datei schreiben und verstecken das Zeug, das Sie nicht zeigen möchten – datafunk

+0

Werfen Sie einen Blick auf diese http://stackoverflow.com/questions/12997123/print-specific-part-of-webpage – Manish

Antwort

0

Sie dieses Element ab Seite wie ein Block erhalten und verwenden Javascript

<div class="print" onclick="PrintElem('#idFromPage')"> 

Und Js-Code drucken den Block Sie müssen drucken:

function PrintElem(elem) { 
    Popup($("body").html(), elem); 
} 

function Popup(data, elem) { 
    var mywindow = window.open('', 'Page to Print', 'height=600,width=800'); 
    mywindow.document.write('<html><head><title>Print Document</title>'); 
    mywindow.document.write('<style> body * { visibility: hidden; } .mobile-view {displa:none;} body, html { background:#fff !important;} #' + elem + ', #' + elem + ' * {visibility: visible; } </style>'); 
    mywindow.document.write('</head><body>'); 
    mywindow.document.write(data); 
    mywindow.document.write('</body></html>'); 

    mywindow.document.close(); // necessary for IE >= 10 
    mywindow.focus(); // necessary for IE >= 10 

    $(mywindow).on('load', function() { 
     mywindow.print(); 
    }); 

    return true; 
} 
1

Dies kann leicht mit media queries erfolgen. Es funktioniert in IE9 und höher, Chrome, FF usw. Für IE8 können Sie Polyfills verwenden.

Jetzt müssen Sie nur die Elemente beim Drucken ausblenden. Schreiben Sie etwas wie das in Ihrem css

Dies wird vollständig die unerwünschten Elemente während des Druckens verbergen.

+0

Event dachte, das funktioniert, aber es lässt Leerzeichen, wo die elemnt- zu verbergen war also der Formularinhalt, von dem erwartet wurde, dass er nur eine Seite benutzt Nehmen Sie 2 Seiten im Drucker, wo es, als ob es in einer eigenen Seite ist, nur eine Seite drucken wird. –

+0

Sie können auch die Breite, Höhe usw. von sichtbaren Elementen anpassen. Auf diese Weise haben Sie beim Drucken keinen Leerraum – Bikas

Verwandte Themen