POST Vars an JS Popup übergeben

Alles, was PHP betrifft, kann hier besprochen werden.

POST Vars an JS Popup übergeben

Postby startist » 19. May 2009 15:38

Hallo,

ich habe ein Formular mit Checkboxen. Wenn auf die Senden-Schaltfläche geklickt wird, soll sich ein Popup öffnen, welche die per POST gesendeten Daten verarbeitet und eine entsprechende Ausgabe macht.
Und da ist auch schon der Haken: ich hab trotz Recherchen nicht herausgefunden, wie ich das richtig schreibe. Mittels JS window.open() wollte ich das Fenster öffnen, wie auch sonst? Nur wie kommen nun auch die Formulardaten zum Fenster?

Zwei Schreibweisen hatte ich ausprobiert, die beide nicht die gewünschte Wirkung hatten (Fenster öffnet sich, aber die Daten kommen nicht an). Hier die Kurzform:
Code: Select all
<!-- Formulardaten an Popup übergeben -->

<!-- im <form> Tag -->

<form action="tpl/popup_label.php" method="post" name="tablesForm" id="tablesForm" enctype="application/x-www-form-urlencoded" onsubmit="FensterOeffnen(this.action, 'Ergebnisse drucken', 300, 130); return false;">

   <input type="checkbox" name="checkRepID[]" id="checkRepID" value="1" />
   <input type="checkbox" name="checkRepID[]" id="checkRepID" value="2" />
   <input type="checkbox" name="checkRepID[]" id="checkRepID" value="3" />
   
   <button type="submit" class="submit_mult" title="Markierte Treffer auf Labeldrucker drucken">
      <img src="img/system/ic_print.gif" width="20" height="20" alt="Labeldrucker">
   </button>

</form>

<!-- im <button> Tag -->

<form action="tpl/popup_label.php" method="post" name="tablesForm" id="tablesForm" enctype="application/x-www-form-urlencoded">

   <input type="checkbox" name="checkRepID[]" id="checkRepID" value="1" />
   <input type="checkbox" name="checkRepID[]" id="checkRepID" value="2" />
   <input type="checkbox" name="checkRepID[]" id="checkRepID" value="3" />
   
   <button type="submit" class="submit_mult" title="Markierte Treffer auf Labeldrucker drucken" onClick="FensterOeffnen(document.tablesForm.action, 'Ergebnisse drucken', 300, 130); return false;">
      <img src="img/system/ic_print.gif" width="20" height="20" alt="Labeldrucker">
   </button>

</form>


FensterOeffnen() ist nichts weiter als:
Code: Select all
function FensterOeffnen (Adresse, Name, Breite, Hoehe) {
   Fenster1 = window.open (Adresse, Name, "width=" + Breite + ", height=" + Hoehe + ", left=70, top=50");
   Fenster1.focus ();
}


So funktioniert es natürlich nicht. Es wird ja hier nicht das Formular gesendet, sondern nur der action-Wert aufgerufen. Wie mache ich es richtig?

Danke schon mal für eure Hinweise.
User avatar
startist
 
Posts: 55
Joined: 24. June 2008 14:10
Location: Dresden

Re: POST Vars an JS Popup übergeben

Postby Nobbie » 19. May 2009 16:10

Du verwuselst und vermurkst da so einiges.

Willst Du die Variablen per POST-Request an einen Server senden, der dann eine HTML Seite sendet, welche ein JavaScript Aufruf beinhaltet der via Popup die Werte anzeigt, die auf dem Server angekommen sind, oder willst Du gar nicht die Werte an einen Server senden, sondern direkt beim Klicken auf den Submit Button anzeigen lassen, welche Werte dort eingetragen wurden?

Ich hoffe, Du verstehst den grundlegenden Unterschied (bislang glaube ich nämlich, dass Du das nicht verstehst)?
Nobbie
 
Posts: 8772
Joined: 09. March 2008 13:04

Re: POST Vars an JS Popup übergeben

Postby startist » 19. May 2009 21:28

Du verwuselst und vermurkst da so einiges.
Das hatte ich schon selbst festgestellt :roll: Die Scripte dienten zur Verdeutlichung meines Problems, das es so nicht funktioniert ist mir selber klar.
Ich hoffe, Du verstehst den grundlegenden Unterschied (bislang glaube ich nämlich, dass Du das nicht verstehst)?
Selbstverständlich kenne ich den Unterschied zwischen einer clientseitigen und einer serverseitigen Scriptsprache :)
Das ist doch mein Dilemma, ich weiß nicht, wie ich es am günstigsten angehe. Du hast natürlich Recht: Die Daten müssen nicht zwingend vom Server geladen werden, da sie mit dem Formular schon vorliegen.
Die ausgewählten Daten müssen halt in einem Popup-Fenster erscheinen, welches vorzugsweise mit CSS formatiert wurde und in einer bestimmten Größe ist. Dieses dient einfach zum Drucken dieser Werte auf einem Labeldrucker.
JS brauche ich, wie soll ich sonst ein neues Fenster öffnen, richtig? Ein Formular benötige ich auch, also benötige ich einen Wert für action. Oder nicht? Wie löse ich das?
User avatar
startist
 
Posts: 55
Joined: 24. June 2008 14:10
Location: Dresden

Re: POST Vars an JS Popup übergeben

Postby Wiedmann » 19. May 2009 21:49

welche die per POST gesendeten Daten verarbeitet und eine entsprechende Ausgabe macht.

Du hast natürlich Recht: Die Daten müssen nicht zwingend vom Server geladen werden, da sie mit dem Formular schon vorliegen.

Wer verarbeitet dann die Daten die du im Formular auswählst/eingibst?
Oder wieso sind die Daten schon vor der Auswahl und Verarbeitung im Formular vorhanden?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: POST Vars an JS Popup übergeben

Postby Xardas der Dunkle » 19. May 2009 22:03

Einfach den Namen des JsFensters als target angeben.
Code: Select all
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>
    <script type="text/javascript">
// <![CDATA[
function openFormWin() {
    var win = window.open("about:blank", "jsWindow", "width=800, height=600, left=70, top=50");
};
// ]]>
    </script>
  </head>
  <body>
<?php
echo '<pre>'print_r($_POSTtrue), '</pre>';
?>
    <form action="formJsWindow.php" target="jsWindow" onsubmit="openFormWin();" method="post">
      <input type="text" name="test" /> <input type="submit" name="foobar" />
    </form>
  </body>
</html>
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www

Re: POST Vars an JS Popup übergeben

Postby startist » 20. May 2009 08:50

Danke, Xardas, Problem gelöst :)
User avatar
startist
 
Posts: 55
Joined: 24. June 2008 14:10
Location: Dresden


Return to PHP

Who is online

Users browsing this forum: No registered users and 1 guest