2014-05-17 3 views
6

Mit folgendem Code wird das Dialogfeld zum Drucken angezeigt und die Seite erfolgreich gedruckt. Wie drucke ich jedoch eine andere Seite, nachdem ich auf diese Schaltfläche geklickt habe? Verschiedene Seitenname: letterprint.phpWie drucke ich verschiedene Seite mit Javascript/jQuery/Ajax?

<div class="below_movie_left" id="printableArea"> 
My printing contents 
</div> 

<input type="button" class="submit_button" onclick="printDiv('printableArea')" value="Print" style="float:right;" /> 

<script> 
function printDiv(divName) { 
    var printContents = document.getElementById(divName).innerHTML; 
    var originalContents = document.body.innerHTML; 

    document.body.innerHTML = printContents; 

    window.print(); 

    document.body.innerHTML = originalContents; 
} 
</script> 

Ist dies möglich mit Javascript/jQuery/Ajax-Methode? Wie ?

+0

@ WAR10CK Vielen Dank für bearbeiten meine Frage Titel :) – Babu

+0

Hallo !, Mögliche dupliziert http://stackoverflow.com/questions/8240472/printing-a-web-page-using-just-url-and-without-opening-new-window –

Antwort

16

Wenn Sie bereits die Seite, die Sie ausdrucken möchten haben, die Seite in einer versteckten iframe setzen und den Inhalt der iframe drucken

<iframe src="letterprint.php" name="frame"></iframe> 

<input type="button" onclick="frames['frame'].print()" value="printletter"> 
+0

Ja, Sie Idee ist großartig. – Babu

+0

Nur große einfache Antwort. Danke, dass es funktioniert. – Babu

1

Sie können nicht wirklich eine andere Seite drucken; Browser geben einfach kein Javascript, das macht. Sie können jedoch den Inhalt der Seite ändern, auf der sich der Benutzer befindet.

Kurz gesagt, können Sie mit AJAX oder einem iframe auf die zweite Seite (letterprint.php) zugreifen und dann den Inhalt eines Elements auf Ihrer Seite durch den Inhalt dieser Seite ersetzen. Wenn Sie nicht möchten, dass es für den Benutzer sichtbar ist, können Sie ein gezieltes Stylesheet verwenden, um den neuen Inhalt nur beim Drucken sichtbar zu machen.