printknop in een bericht

Status
Niet open voor verdere reacties.

hanna

Gebruiker
Lid geworden
8 sep 2000
Berichten
966
<p><input onclick="javascript:window.print()" type="button" /></p>

dit gebruik ik vaak op een gewonen website, maar bij web-log.nl werkt het niet zoals ik zou willen.
Ik wil n.l. in een bericht of log een printknop plaatsen zodat mensen alleen het bericht kunnen printen waarin de knop staat.

Hier staat een voorbeeld, maar deze print dus de hele pagina uit.

Kan iemand mij hier mee helpen?
 
Laatst bewerkt:
Pas nog gemaakt :). Helpt dit je op weg?
Op die manier. :)

Dat kan ongeveer zo:
PHP:
<html>
 <head>
  <title>PrintId</title>
 </head>
 <body>

  <script type="text/javascript">
   // Egel 080314 ;)
   function printId(id) {
    var console = open('','','resizable=yes,scrollbars=yes,width=480,height=320');
    function cw(text) { console.document.writeln(text);};
    console.document.open();
    cw('<html>');
    cw(' <head>');
    cw('  <title>.: print :.</title>');
    cw('  <style type="text/css">');
    cw('   body, td { background: #fff; color: #000; font: 13 px Verdana;}');
    cw('  </style>');
    cw(' </head>');
    cw(' <body onload="window.print()" onafterprint="window.close()">');
    cw(document.getElementById(id).innerHTML);
    cw(' </body>');
    cw('</html>');
    console.document.close();
    };
  </script>

  [12345678]<br>

  <div id="info">
   De goede tekst! ;)
  </div>

  [abcdefgh]<br>

  <input type="button" value="Print" onclick="printId('info')">
 </body>
</html>
Het script kan overal in de body staan en de div-tags zet je dan om de tabel <table ... class="background"> heen, waar de bedoelde tekst instaat.

Misschien moet de style van de pop-up nog wat aangepast en eventueel width & height, maar kijk eerst maar eens of dit lukt. :)


Vr.Gr. Egel.
In het door je gegeven voorbeeld: http://www.experimentjes.web-log.nl/ roep je het dan aan met:
PHP:
<input type="button" value="Print" onclick="printId('entry-5541918')">
voor de eerste reactie en
PHP:
<input type="button" value="Print" onclick="printId('entry-6888942')">
voor de tweede. :)


Vr.Gr. Egel.
 
Sorry voor mijn late reactie, maar ik was weg.

Ik heb het er net neer gezet en het werkt perfect.

Eerste en tweede reactie? wanneer gebruik ik dat en hoe. Bedoel je dat ik in iedere reactie een ander ID moet zetten?

Hartstikke bedankt.
 
Laatst bewerkt:
Eerste en tweede reactie? wanneer gebruik ik dat en hoe. Bedoel je dat ik in iedere reactie een ander ID moet zetten?
De reacties staan in een div met een id, als
PHP:
<div class="entry" id="entry-6888942">
...
</div>
Als je dan bij elke reactie een printknop wilt zou je die automatisch met dezelfde id moeten maken: :confused:
PHP:
<input type="button" value="Print" onclick="printId('entry-6888942')">


Misschien is iets als dit dan beter:
PHP:
<html>
 <head>
  <title>PrintDiv</title>
 </head>
 <body>

  <script type="text/javascript">
   // Egel 080405 ;)
   function printDiv(obj) {
    obj = obj.previousSibling;
    while (obj.nodeType != 1) obj = obj.previousSibling;
    var console = open('','','resizable=yes,scrollbars=yes,width=480,height=320');
    function cw(text) { console.document.writeln(text);};
    console.document.open();
    cw('<html>');
    cw(' <head>');
    cw('  <title>.: print :.</title>');
    cw('  <style type="text/css">');
    cw('   body, td { background: #fff; color: #000; font: 13 px Verdana;}');
    cw('  </style>');
    cw(' </head>');
    cw(' <body onload="window.print()" onafterprint="window.close()">');
    cw(obj.innerHTML);
    cw(' </body>');
    cw('</html>');
    console.document.close();
    };
  </script>

  <div>
   Dit is de tekst in div één!
  </div>
  <input type="button" value="Print" onclick="printDiv(this)"><br>

  <div>
   Dit is een tweede div met tekst.
  </div>
  <input type="button" value="Print" onclick="printDiv(this)"><br>

  <div>
   Een derde div met tekst.
  </div>
  <input type="button" value="Print" onclick="printDiv(this)"><br>

 </body>
</html>
Dat print de inhoud af van wat er direct boven staat.

Er mag dan niets staan tussen de printknop en de div die je wilt afdrukken maar voor elke printknop kun je wel dezelfde code gebruiken. :)


Vr.Gr. Egel.
 
Prachtig, ik bewaar ze allebei, voor gebruik op een weblog.

Alweer hartstikke bedankt. :)
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan