Pittiplatsch Geschrieben 25. August 2004 Geschrieben 25. August 2004 Ich hab folgendes Prob. Erstelle grad ne Personaldatenbank mit PHP und MySQL In einem Formular erfasse ich Personaldaten, die ich dann in Form eines PDF - Dokumentes als Personaldeckblatt ausgeben lasse. Klappt ja soweit auch alles ganz prima -- innrhalb des selben Fensters -- Nun möchte ich aber dieses PDF in einem neuen Fenster öffnen. Und genau da geht das Problem los. -- Das Fenster öffnet sich ja auch, sogar die Deckblatt - Maske stimmt, aber die in das Formular eingetragenen Daten werden nicht übermittelt. Hat jemand 'ne Idee oder vieleicht sogar 'n kleines Script-Beispiel, mit dem ich dieses Problem lösen kann? Zitieren
kLeiner_HobBes Geschrieben 25. August 2004 Geschrieben 25. August 2004 Was hast du im HTML-Code denn für eine action im <form>-Tag angegeben? Oder wie und wo rufst du dein window.open() auf? Zitieren
Pittiplatsch Geschrieben 25. August 2004 Autor Geschrieben 25. August 2004 Habe das folgendermaßen gelöst: echo "<input type='button' name='Verweis' value='Deckblatt' onClick=\"window.open('deck-ma.php','Deckblatt','width=300,height=400');\">"; Die PDF-Datei wird ja wie gesagt auch geöffnet, nur eben leer :confused: Zitieren
kLeiner_HobBes Geschrieben 25. August 2004 Geschrieben 25. August 2004 Natürlich. Der Button ist ja auch kein Submit-Button. Das heißt, das Formular wird nicht abgesendet und damit auch nicht die ganzen Daten. Es gibt IMHO zwei Wege: entweder, du definierst die <form>-Zeile folgendermaßen:<form action="deck-ma.php" method="post" target="_blank"> ... dann hast du aber keine Kontrolle über die Größe und das Aussehen des Zielfensters. Oder du schickst die Daten erstmal an das Formular selbst, erstellst im Hintergrund die PDF-Datei und läßt dann beim Laden des "Ursprungsfensters" über ein OnLoad des Bodys ein neues Fenster erstellen, welches die generierte PDF-Datei anzeigt. Hoffe, das war net zu konfus Zitieren
*I C Q* Geschrieben 25. August 2004 Geschrieben 25. August 2004 Eine andere Alternative wäre eine Funktion der Art window.open("pdfdatei.php?wert1="+document.formularname.feldname.value+"&wert2="+document.formularname.feldname2.value,...); ICQ Zitieren
Pittiplatsch Geschrieben 25. August 2004 Autor Geschrieben 25. August 2004 Hi, kLeiner_HobBes Naja, den ersten Teil hab ich ohne weiteres verstanden. Hab ja im "<form action=....>" 'ne Datei mit eingebunden. Das Problem jetzt ist eigentlich folgendes. Ich habe mehrere "<input type='submit' ...>", diese werden in einer Datei verarbeitet und auf diese wollte ich mit diesem Button eigentlich nicht zugreifen. Aber wenn ich den zweiten Teil deiner Antwort richtig verstehe, muß ich genau das tun. Hi, *I C Q* Und wenn ich dich richtig verstehe, mußich in dem "window.open - Befehl alle zu übergebenden Werte mit eintragen. Das klingt zwar ziemlich schreibaufwendig, aber es scheint 'ne gut Alternive zu sein. Zitieren
Pittiplatsch Geschrieben 25. August 2004 Autor Geschrieben 25. August 2004 Hm, irgendwie stelle ich mich wohl etwas blöd an. Sobald ich window.open('deck-ma.php?wert1=\"document.test.ma_vname.value\"');> eingebe, funktioniert der Button gar nicht mehr :confused: Was genau mache ich falsch ? Zitieren
MrMagix Geschrieben 25. August 2004 Geschrieben 25. August 2004 Hm, irgendwie stelle ich mich wohl etwas blöd an. Sobald ich window.open('deck-ma.php?wert1=\"document.test.ma_vname.value\"');> [...] Was genau mache ich falsch ? Lass mal die \" weg... ich denke das koennte es schon gewesen sein. Zitieren
kLeiner_HobBes Geschrieben 25. August 2004 Geschrieben 25. August 2004 Nee, dann steht nachher in $_GET["wert1"] der String "document.test.ma_vname.value" drin. Wenn, dann so:window.open('deck-ma.php?wert1=' + document.test.ma_vname.value); Zitieren
*I C Q* Geschrieben 26. August 2004 Geschrieben 26. August 2004 window.open('deck-ma.php?wert1=\"document.test.ma_vname.value\"');> Da fehlt das Pluszeichen zwischen \" und document! ICQ Zitieren
Pittiplatsch Geschrieben 26. August 2004 Autor Geschrieben 26. August 2004 Eure Tipps sind ein großes Dankeschön wert. :uli Allerdings hab ich es jetzt doch anders gelöst, über eine Zwischendatei,in der ich die entsprechenden Daten in einer Sessiondatei speichere und darunter im <body> - tag ein onLoad eingefügt habe, mit dem ich die PDF-Datei in einem neuen Fenster anzeigen lasse. session_register('daten'); echo"<body bgcolor='#E0E0E0' onLoad=\"window.open('deck-ma.php','Deckblatt','width=600,height=600');\">"; include('erf-ma.php'); echo "</body>"; Im eigenen Fenster wird dabei wieder das Erfassungsformular angezeigt. Im endeffekt doch ähnlich dem Vorschlag von kLeiner_HobBes. Aber jetztläuft es so, wie es soll. Zitieren
Empfohlene Beiträge
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.