Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi,

hab hier folgendes Problem.

Hab ein HTML-Dokument, in das ich mittels Javscript u.a. den Link "Formular drucken" eingebunden hab.

Das Dokument enthält einen Formular-Bereich, und der Druck-Link ist außerhalb davon. Jetzt möchte ich, daß nur der Formular-Bereich ausgedruckt wird.

Im Moment druckt es mir auch den Link "Formular drucken" mit aus. Das sollte aber nicht so sein.

Kann mir jemand einen Tip geben, wie ich das hinbekomme ?

Geschrieben

Hatte diese Frage auch, habe es dann letztendlich nicht gelöst, nur umgangen ... mit dem Drucklink wird bei mir die Seite schon "betreten" und dann kommt sofort der Druckdialog (JS) bzw. wäre es ja auch nicht schlimm, wenn der Benutzer statt dem Lik auf der Seite einfach nur den Button im Browser drücken muss, wenn man das dem Anwender sagt, ist das eigentlich konformer :)

Geschrieben

Denke ja auch, daß es einfacher wäre, dies zu umgehen.

Aber da es sich um einen Online-Bestell-Prozeß handelt, soll der Anwender vor dem Drucken noch mal überprüfen können, ob alle Angaben ok sind, so daß er sie gegebenenfalls noch mal ändern kann.

Es muß also erst der Seitenaufruf erfolgen und dort der Drucklink betätigt werden können.

Geschrieben

Hab grad erfahren, daß mein Problem mit Frames zu lösen wäre, aber ich wollte eigentlich Frames umgehen.

Kann ich auch Tabellen ausdrucken ?

Hab das Formular, welches ausgedruckt werden soll, bereits in einer Tabelle und der Link zum Drucken des Formulars ist außerhalb der Tabelle. Ist es jetzt möglich, z.B. mit Javascript, nur die Tabelle auszudrucken, oder geht das nicht?

Geschrieben

Die einziege Möglichkeit die ich dann sehe ist, dass du nach dem drücken des Links die Formularseite neu lädst und diesmal ohne den Link und sich dann der Druckdialog oder eine "Druckanweisung" dem Anwender gegenüber öffnet.

Geschrieben

wie wärs denn, wenn du beim klick auf drucken ein neues fenster aufmachst (über window.open) dort führst du dann document.print bei onLoad vom Body aus. danach kannst dus über window.close auch gleich wieder schließen.

The HotkeyM

Geschrieben

Hab ich ja auch versucht. Es gibt dabei nur ein Problem.

Das ganze Ding besteht aus mehreren HTML-Dokumenten, welche mittels PHP miteinander verknüpft sind. Um die ganzen Variablen später im Schlußformular zu haben, läuft alles über Sessions. Läuft ja auch so weit ganz gut.:cool:

Wenn ich jetzt über window.open ein neues Fenster lade, welches das Schlußformular enthält, übernimmt es mir die Daten nicht.:confused:

Alles was im Formular enthalten ist, steht in einer Tabelle.

Kann ich mit Hilfe der Funktion document.formularname.elementname.value irgendwas anfangen?

Geschrieben

Hmmm, es wäre doch in diesem Fall nicht unbedingt ein Risiko die Variablen an das Fenster bzw. die URL darin zu übergeben, Adressleiste ist ja ausblendbar. Ist zwar keine saubere Lösung, aber sollte funktionieren.

Alertnativ könntest du auch noch sämtliche Variablen an die JavaScript-Funktion im Link übergeben, ist aber auch icht so fein, gibt ne ziemlich Wurscht dneke ich.

Man könnte per JavaScript auch wieder von dem Fenster zurück auf die Tabelle zugreifen, was aber auch ein ziemliches Gefriemel ist.

Mehr fällt mir dazu nicht ein ... :(

Geschrieben

Klingt ja wirklich alles sehr umständlich. :(

Kann man nicht einfach die entsprechenden Javascript - Links außerhalb des Formulars ausblenden ?

Oder geht das nicht so einfach.

In dem Bereich, der ausgedruckt werden soll, ist auch ein Link, der soll aber nicht verschwinden.

:confused: :confused: :confused: :confused: :confused: :confused: :confused:

Geschrieben

Jetzt wo Du das so sagst ... das könnte wirklich gehen ... ich weiss mal woher, da hatte ich ein kleines Skript für eine WbCam, das hat zyklisch mit JavaScript immer ein Bild neu geladen, ohne dass die Seite neu geladen wurde. Also wenn es möglich ist auf den img-Tag zuzugreifen, müsste es eigentlich auch für andere Tag s evtl. möglich sein. Da hört mein Wissen aber dann schon auf ...

Geschrieben

du könntest höchstens (vielleicht) erst ein javascript ausführen, wenn drucken gedrückt wird:

setze button "drucken" visibility auf hidden

drucke formular

warte 1 min

setze button "drucken" visibility auf show (oder so ähnlich)

wie das genau geht steht alles bei SelfHTML

Ansonsten wüsste ich auch nicht.

Geschrieben

Hm, soweit ich mitbekommen habe, funktioniert visibility hauptsächlich bei Layern.

Heißt das jetzt, ich muß die beiden Links (oder Buttons), um die es geht, in einen Layer setzen und diesen dann beim drücken des Druck - Links (Buttons) auf visibility=hidden setzen ? ? ? ? ? ? ?

Geschrieben

Hi, HotkeyM

Danke nochmal für den Tip mit dem visibility bei div-Tags. :cool: :cool:

Hab jetzt die beiden auszublendenden Links in div-Tags eingeschlossen und sage dem Formular, Wenn der Drucken-Link betätigt wird, soll dieser div-Bereich ausgeblendet werden.

Funktioniert wunderbar :D :D :D

Geschrieben

hi

warum parst du nicht das gesamte formular in einen fertigen text um und den kann man dann über den browser drucken.

das ganze ist über php sehr einfach zu erledigen.

gruss,

comrad

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...