Supportnet / Forum / Webseiten/HTML
Frage
Hallo!
Habe auf einer HTML-Seite ein Formular.
Darin ist ein größeres Textfeld.
Wenn nun jemand Text einträgt der länger ist als das Textfeld groß ist und dann das Formular ausdruckt, dann ist nur der sichtbare Text auf dem Ausdruck.
Wie kann man es anstellen das auf dem Ausdruck alles erscheint?
Vielen Dank
spaceman
Antwort 1 von Griemokhan
Den Text markieren
Antwort 2 von Friedel
Mit Markieren geht es jedenfalls nicht. Da wird normalerweise auch nur der sichtbare Teil des Textes gedruckt.
Geht es darum, dass du eine eigene Seite mit Formular baust, die so eine Druckmöglichkeit bieten soll? Oder darum, dass du vorhandene Formularseiten z.B. aus Onlinebestellungen, ausdrucken willst?
Geht es darum, dass du eine eigene Seite mit Formular baust, die so eine Druckmöglichkeit bieten soll? Oder darum, dass du vorhandene Formularseiten z.B. aus Onlinebestellungen, ausdrucken willst?
Antwort 3 von DerWahreDenny
Antwort 4 von rfb
Zuverlässig geht das Userseitig gar nicht.
Denkbar sind zwar Konstrukte über JavaScript, die vorm Druck den Inhalt eines Textfeldes direkt auf die Seite schreiben, aber die Verfügbarkeit von JavaScript kann man nie voraussetzen.
Auch irgendwelche CSS-Druck-Layouts setzen voraus, dass der Browser dies überhaupt unterstützt - was auch nicht garantiert ist.
(Auf Anhieb fällt mir aber auch nix ein, wie nachträglich die Größe einer textarea veränderbar ist.)
Sicher ist nur das Verfahren, das auch die meisten Onlineshops nutzen:
Formular wird abgeschickt, serverseitig ausgewertet, Antwortseite mit allen Infos wird zurückgeschickt und diese Antwortseite kann dann ausgedruckt werden und erst wenn diese Seite nochmal bestätigt wird ist die Online-Bestellung fertig.
Denkbar sind zwar Konstrukte über JavaScript, die vorm Druck den Inhalt eines Textfeldes direkt auf die Seite schreiben, aber die Verfügbarkeit von JavaScript kann man nie voraussetzen.
Auch irgendwelche CSS-Druck-Layouts setzen voraus, dass der Browser dies überhaupt unterstützt - was auch nicht garantiert ist.
(Auf Anhieb fällt mir aber auch nix ein, wie nachträglich die Größe einer textarea veränderbar ist.)
Sicher ist nur das Verfahren, das auch die meisten Onlineshops nutzen:
Formular wird abgeschickt, serverseitig ausgewertet, Antwortseite mit allen Infos wird zurückgeschickt und diese Antwortseite kann dann ausgedruckt werden und erst wenn diese Seite nochmal bestätigt wird ist die Online-Bestellung fertig.
Antwort 5 von spaceman
Danke erst mal an alle!
Eine Frage noch an rfb.
Wie wäre die Sache mit einer Antwortseite machbar? Geht das überhaupt so einfach?
Hab schon überlegt ob es irgendwie möglich wäre beim Click auf den Druckbutton den ganzen Formularinhalt (mit PHP, Perl o.ä) auf eine neue HTML- Seite zu bekommen und dann erst auszudrucken.
Eine Frage noch an rfb.
Wie wäre die Sache mit einer Antwortseite machbar? Geht das überhaupt so einfach?
Hab schon überlegt ob es irgendwie möglich wäre beim Click auf den Druckbutton den ganzen Formularinhalt (mit PHP, Perl o.ä) auf eine neue HTML- Seite zu bekommen und dann erst auszudrucken.
Antwort 6 von rfb
Da müsstest du mal die PHP-Freaks (in der Gruppe PHP) fragen - ist nicht so meine Stärke. Aber sicherlich bist du nicht der erste mit diesem Anliegen.
Wie du den Button zum Abschicken des Formulars benennst ist dir über lassen ("Absenden", "Weiter", "Druckseite erstellen", "Hier klicken und abwarten was passiert", ...), jedenfalls muss es erst an den Server übermittelt werden, dort wird (per PHP o.ä.) aus den Formulardaten eine neue HTML-Seite erstellt und zurückgeschickt, so dass der Browser sie anzeigen kann. Entweder steht da auch die Aufforderung zum Drucken drin, oder (per JavaScript) startet der Druck von allein, oder ein Butten zu diesem Zweck ist vorhanden, oder dies alles zusammen - das unterliegt deiner Gestaltungsfreiheit.
Wie du den Button zum Abschicken des Formulars benennst ist dir über lassen ("Absenden", "Weiter", "Druckseite erstellen", "Hier klicken und abwarten was passiert", ...), jedenfalls muss es erst an den Server übermittelt werden, dort wird (per PHP o.ä.) aus den Formulardaten eine neue HTML-Seite erstellt und zurückgeschickt, so dass der Browser sie anzeigen kann. Entweder steht da auch die Aufforderung zum Drucken drin, oder (per JavaScript) startet der Druck von allein, oder ein Butten zu diesem Zweck ist vorhanden, oder dies alles zusammen - das unterliegt deiner Gestaltungsfreiheit.
Antwort 7 von Friedel
Du könntest das ganze auch ohne Php machen. Dann funktioniert es aber natürlich nur, wennn der User JavaScript aktiviert hat. Dazu machst du unter dein Formular einen Button mit er Aufschrift "Druckbare Ansicht erzeugen" oder so ähnlich und rufst durch den Button eine neu Seite auf, die mit DOM die Inhalte der Formularfelder abfragt und darstellt. Les dir dazu mal http://de.selfhtml.org/javascript/objekte/elements.htm und besonders http://de.selfhtml.org/javascript/objekte/elements.htm#value durch. Für die Erzeugung der druckbaren Seite brauchst du dann Scriptzeilen nach dem Schema
Im Beispiel wird davon ausgegangen, dass die Seite mit dem Script von einer anderen Seite geöffnet wurde. Die öffnenden Seite enthält ein Formular namens Formular1. In diesem Formular gibt ein Element namens Eingabefeld1. Der Wert dieses Feldes wird durch diese Scriptzeile in die neue Seite geschrieben.
Zitat:
document.write(opener.Formular1.Eingabefeld1.value );
document.write(opener.Formular1.Eingabefeld1.value );
Im Beispiel wird davon ausgegangen, dass die Seite mit dem Script von einer anderen Seite geöffnet wurde. Die öffnenden Seite enthält ein Formular namens Formular1. In diesem Formular gibt ein Element namens Eingabefeld1. Der Wert dieses Feldes wird durch diese Scriptzeile in die neue Seite geschrieben.