gutefrage.net, die Ratgeber Community
Login   |  Registrieren   |  Forum |  Richtlinien & FAQ

HTML-Tabellenzelle mit Link/Button automatisch markieren und drucken

gefragt von Catlyn am 05.11.2009 um 8:43 Uhr

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

Frage beantworten

Hier finden Sie weitere Fragen zu den Themen:

HTML x 1.031 Webdesign x 347 JavaScript x 162

Vom Fragesteller als hilfreichste Antwort ausgezeichnet


anonym
beantwortet von CoachingNRW am 6. November 2009 09:26
0x
Die Antwort ist hilfreich? Dann klick mich!
Hilfreichste Antwort

Sorry der Editor zerschießt das Script: hier findest Du es nochmal: http://www.huntingground.freeserve.co.uk/main/mainfram.htm?../scripts/printing.htm


Weitere gute Antworten


anonym
beantwortet von Catlyn am 7. November 2009 01:07
0x
Die Antwort ist hilfreich? Dann klick mich!

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

Kommentar von Catlyn am 7. November 2009 01:13

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


anonym
beantwortet von CoachingNRW am 7. November 2009 00:50
0x
Die Antwort ist hilfreich? Dann klick mich!

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...


anonym
beantwortet von Catlyn am 6. November 2009 20:05
0x
Die Antwort ist hilfreich? Dann klick mich!

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


anonym
beantwortet von Catlyn am 6. November 2009 19:00
0x
Die Antwort ist hilfreich? Dann klick mich!

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


anonym
beantwortet von CoachingNRW am 6. November 2009 09:22
0x
Die Antwort ist hilfreich? Dann klick mich!

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 ;)


anonym
beantwortet von Xodem am 5. November 2009 18:54
0x
Die Antwort ist hilfreich? Dann klick mich!

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.


anonym
beantwortet von Catlyn am 5. November 2009 10:09
0x
Die Antwort ist hilfreich? Dann klick mich!

Wenn Du mir jetzt noch verrätst, wie, wäre das klasse. Wie ich oben schon schrieb kann ich nicht programmieren.

VG Catlyn


anonym
beantwortet von quietprof am 5. November 2009 08:45
0x
Die Antwort ist hilfreich? Dann klick mich!

Mache es mit PHP oder XML.

Kommentar von Xodem am 5. November 2009 18:51

mit php wird das wohl kaum möglich sein...


Frage beantworten

Verwandte Fragen

Verwandte Fragen

Noch nicht die richtige Antwort? Dann hier in allen Fragen und Tipps suchen:




Die unter gutefrage.net angebotenen Dienste und Ratgeber Inhalte werden nicht geprüft. Die Richtigkeit der Inhalte wird nicht gewährleistet. Bitte lesen Sie hierzu auch unsere Rechtlichen Hinweise.