Druckansicht eines Formulars

Hallo,

ich habe ein Kontaktformular welches neben einigen Angaben auch natürlich auch ein "begrenztes" Textfeld enthält in dem man den vollen Inhalt natürlich nicht mehr sehen kann wenn man viel reinschreibt.

Ich möchte dem User die Möglichkeit geben das Formular auszudrucken mit dem GANZEN Text.

Die Idee ist jetzt einfach per Button "Druckansicht" ein neues Fenster öffnen zu lassen in dem der Text dann voll dargestellt wird.

Hat jemand einen Ansatz dafür wie ich aus dem Script raus eine neue Seite öffne und wie ich die Daten aus dem Textfeld in die neue Seite bekomme?

THX, primaerleiter
 
Hallo,

ich wüßte jetzt nur einen Weg mit JavaScript. Statt das Formular auszuwerten einfach eine Art Vorschau anbieten.

JavaScript benötigst du um einen zweiten Button via submit an eine andere Seite umzuleiten.

Die Auswertung des Formular erfolgt dann als Vorschau, indem du die Felder einfach nur hinschreibst.

Gruß.
 
Hi,
wie kommt der Text den in das Textfeld?
wenn er rein geschrieben wird, kannst du das mit nem zweiten submit-button machen, der einfach den Text in ein neues fenster übergibt.
Mit Javascript sollte aber denke ich auch möglich sein.

lg.

Garlof
 
Hallo,

wieso leitest Du das Formular nicht zuerst auf eine Ansichtsseite, speicherst dort die Einträge in hidden-Feldern und gibst es gleichzeitig aus. Wenn der User dann was verändern möchte kann er immer noch zurück gehen (allerdings müsstest du dann die Formulardaten in 2 Formularen speichern meine ich, eines für die nächste und eines für die vorherige Seite).

Gruss,

Thomas
 
Danke für die schnelle Antwort,

also der Text wird vom User selbst eingetragen. Dann muss er den Submit Button drücken (oder eben den Druckbutton).

Wie der zweite Submitbutton nun aber die Daten in eine andere Seite als die Eigene ($PHP_SELF) übertragen soll weiss ich leider noch nicht :(

Bin noch recht neu in der Materie hier...
 
primaerleiter hat gesagt.:
Wie der zweite Submitbutton nun aber die Daten in eine andere Seite als die Eigene ($PHP_SELF) übertragen soll weiss ich leider noch nicht :(

Brauchst du ja gar nicht an sich! Kannst ja auch folgendes machen:

HTML:
<button name="submit" value="safe">Speichern</button> <button name="submit" value="print">Drucken</button> <button type="reset">Löschen</button>

Und denn fängts du halt die $_POST- Daten ab:
PHP:
if($_POST['submit']=='print') {
//drucke
} 
elseif($_POST['submit'] == 'safe') {
//speicher
}
 
@ StefanR

Hi nochmal,

also ich hab das jetzt mal ausprobiert und vom Prinzip her klappt es gut.

Wenn ich jetzt meinen Text aus dem Textfeld den ich per:

$mail_text=$_POST['Text'];

geholt habe mit:

echo '<td>'.$mail_text.</td>; in meiner Tabelle ausgeben will dann ist die Formatierung komplett weg --> gibts da ne Möglichkeit dass die Formatierung erhalten bleibt?
 
@primaerleiter
Wie meinst du das mit Formatierung weg? Darf der User HTML benutzen im Formular?
 
Nein - das darf er nicht --> es ist eine einfache textarea. Das sieht ungefähr so im Moment aus:

PHP:
<td><?php 
  	if($_POST['submit']=='Vorschau'){
	  	echo $mail_text;}
	else{
  		echo '<textarea cols="60" rows="10" name="Text"';
		if($Xerror[3]) 
			echo ' style="border:thin solid #FF0000" ';
	    echo '>'.$mail_text.'</textarea>';
		}
	?></td>

Im 2ten Fall, d.h. wenn $mail_text in der textarea ausgegeben wird dann erscheint es wie zuvor eingegeben, also mit Zeilenumbrüchen und Leerzeichen und so.

Im 1sten Fall schreibt er mir $mail_text einfach hintereinander mit Leerzeichen aber eben OHNE Zeilenumbrüche.
Der Sinn der ganzen Geschichte ist wie gesagt dass der User den ganzen Text sehen soll (ist dann Druckbar) und nicht nur den Text der eben grad "sichtbar" in der Textarea steht. Das ist eigentlich das ganze Problem :-)
 
Zurück