Hallo,
ich würde auf meiner Seite gerne folgendes mit JavaScript (von dem ich nur extrem wenig Ahnung habe - grade mal einfügen und anpassen) umsetzen:
Ich habe eine HTML-Tabelle mit mehreren Zeilen/Spalten. Ich möchte gerne einen Button oder Link hinzufügen, mit dem man beim Anklicken eine ganz bestimmte Zelle markiert und dann ausgedruckt bekommt. Ich suche schon sehr lange im Internet nach einer Lösung, die auch für einen "Unwissenden" geeignet ist. Leider umsonst. Kann mir hier vielleicht jemand weiterhelfen?
Gruß Catlyn
Sorry der Editor zerschießt das Script: hier findest Du es nochmal: http://www.huntingground.freeserve.co.uk/main/mainfram.htm?../scripts/printing.htm
Habe die Test-Datei mal hochgeladen:
http://www.am-jakobsbrunnen.de/lesen/lesen2009/test.htm
Script ist eingebunden. Wenn man rechts auf den kleinen Drucker klickt, sollte es eigentlich die Telle (Haupttextfenster) drucken. Tut es aber nicht.
Vielen herzlichen Dank fürs Drüberschauen! Das ist sehr nett von Dir.
LG Catlyn
Hey, eben habe ich den Fehler entdeckt! Ich hatte das Ganze nicht in DIV-Klammern gesetzt, sondern versuchte, das so wie in Deinem Beitrag mit td zu machen, was aber nicht geht. Mache ich es aber in DIV, dann geht das! SUPER, Du bist Spitze!
LG Catlyn
Lade doch deine Seite mal irgendwo hoch dann sehe ich mal drauf... das Script an sich funktioniert eigentlich prima... Kann sein dass Variablennamen oder IDs doppelt vergeben sind... oder oder - wie gesagt am besten die Datei mal hochladen...
Ich habe gerade festgestellt, dass irgendwie ein Fehler in dieser Befehlszeile des Scriptes sein muss. Ich habe sämtliche Scripte bis auf das hier relevante aus meinem Dokument entfernt und dann ausprobiert. Es kommt immer eine Fehlermeldung für diesen Befehl: . str=document.getElementById(id).innerHTML . Das Script funktioniert also nicht. Schade. . Viele Grüße Catlyn
Danke für die Antwort! Leider funktioniert es bei mir nicht. Es erscheint im IE in der Statusleiste auch eine Fehlermeldung, die Rückschlüsse darauf zulässt, dass sich das Script mit dem Script meiner JavaScript-Menueleiste beißt. Das ist jetzt sehr, sehr schade …, denn die Menueleiste brauche ich so, wie sie ist.
Dein Script habe ich in den Body-Bereich vor der eigentlichen Tabelle eingebaut, das stimmt doch so, oder?
Wenn ich jetzt noch wüßte, was sich beisst und wie man das behebt, wäre mein Problem eigentlich gelöst. Aber leider kann ich nicht programmieren :(
Trotzdem vielen herzlichen Dank und LG Catlyn
Hi Catlyn, du musst allen TDs die Du drucken möchtest eine ID zuweisen. Dann baust Du dieses Script in dein HTML ein und rufst mit einem Link die die Funktion auf und übergibst die ID der zu druckenden TD.
onclick="printContent('td2')
<script type="text/javascript"> <!-- function printContent(id){ str=document.getElementById(id).innerHTML newwin=window.open('','printwin','left=100,top=100,width=400,height=400') newwin.document.write('<HTML>\n<HEAD>\n') newwin.document.write('<TITLE>Print Page</TITLE>\n') newwin.document.write('<script>\n') newwin.document.write('function chkstate(){\n') newwin.document.write('if(document.readyState=="complete"){\n') newwin.document.write('window.close()\n') newwin.document.write('}\n') newwin.document.write('else{\n') newwin.document.write('setTimeout("chkstate()",2000)\n') newwin.document.write('}\n') newwin.document.write('}\n') newwin.document.write('function printwin(){\n') newwin.document.write('window.print();\n') newwin.document.write('chkstate();\n') newwin.document.write('}\n') newwin.document.write('<\/script>\n') newwin.document.write('</HEAD>\n') newwin.document.write('<BODY onload="printwin()">\n') newwin.document.write(str) newwin.document.write('</BODY>\n') newwin.document.write('</HTML>\n') newwin.document.close() } //--> </script>
Das Script schreibt de Inhalt der TD in eine HTML Area öffnet ein Fenster und druckt das Fenster on load aus...
Viel Spaß damit ;)
direkt kann ich dir deine Frage auch nicht beantowrten, aber teile deine Suche doch auf, z.B.: erst nach dem Zugriff auf bestimmte Zellen suchen, dann nach markieren usw.
Ausdrucken wird aber glaub ich nich möglich sein. Bin mir da aber absolut unsicher.
Wenn Du mir jetzt noch verrätst, wie, wäre das klasse. Wie ich oben schon schrieb kann ich nicht programmieren.
VG Catlyn