Biesterfeld: Formular Listenwerte addieren

Beitrag lesen

Hej,

Ich bin leider etwas unerfahren in Java und weiß leider auch nicht so richtig wo ich nachlesen kann.

Jenachdem:
Java ist auch eine Insel, Kapitel 17
Selfthml, Javascript

Ich habe ein Formular welches aus 4 Seiten besteht.

Sicher, dass du nicht 4 Seiten hast, die jeweils ein Formular enthalten?

Auf der ersten Seite kann man aus 3 Listen wählen. Die Werte der ersten beiden Listen sollen addiert und mit dem Wert der dritten Liste multipliziert werden. Dieser Ergebniswert soll nicht auf dieser ersten Seite angezeigt werden sondern "gespeichert" werden und auf der nächsten Seite angezeigt werden.

* Annahme: Du meinst Java unter Einsatz von Servlets.

Du sendest die Parameter per <input type="submit action="meinServlet"/>" an ein serverseitiges HttpServlet wo du sie mittels doGet() bzw. doPost() aus dem Inhalt des HttpServletResponse  ausliest. Hier verarbeitest du die Werte und, baust entsprechend eine neue Seite zusammen, die du per HttpServletResponse.getOutputStream() in den Ausgabestrom schreibst. In dieser neuen Seite setzt du an entsprechender Stelle den ermittelten Wert.

* Annahme: Du meinst Java unter Einsatz von JSPs.

Läuft relativ analog, nur dass du im action-Attribut nicht ein Servlet sondern eine bereits gebaute JSP referenzierst. Auch hier steht dir das ServletRequest-Objekt zur Verfügung. Du musst also nur an entsprechender Stelle innerhalb der JSP-Tags (<% %>) den Wert aus der Request ermitteln, den neuen Wert berechnen und per this.out.write() setzen. Ein schreiben in die ServletResponse entfällt, weil der Tomcat die JSP standardmäßig in den Ausgabestrom schreibt.

* Annahme: Du hast keinen Tomcat und weißt nicht das Java und Javascript in etwa soviel gemeinsam haben wie ein Bus und ein Bambus.

Nach dem Absenden des ersten Formulares, wo du im action-attribut schlicht die zweite Seite referenzierst ermittelst du in dieser per document.URL den Inhalt der Übergebenen Parameter. U.U. hilft dir dabei der Einsatz eines Regulären Ausdrucks. Dies schreibst du dann durch einen geeigneten document.getElementBy...() Zugriff ins Dokument.
Das alles passiert direkt beim Laden des Dokuments durch den Eventhandler onload

Auf der zweiten Seite gibt es dann noch eine Liste. Wenn man aus dieser Liste einen Wert wählt, soll dieser gleich auf dieser Seite immer angezeigt werden (also immer wenn man einen anderen Wert wählt, soll der gleich in einem Feld darunter angezeigt werden).

Hierzu benötigst du definitv Javascript. Du möchtest also für das Listenelement (konkreter wahrscheinlich für einen submit-Button deiner Liste) eine entsprechende Funktion definieren, die per onclick den Wert an eine entsprechende Stelle schreibt.

Zu guter Letzt soll der Ergebniswert der vorhergehenden Seite mit dem Listerwert der zweiten Seite addiert werden und gleich auf deiser Seite ausgegeben werden.

Wie du einfache Berechnungen in Javascript durchführst verrät dir http://de.selfhtml.org/javascript/sprache/regeln.htm.

Beste Grüße
Biesterfeld

--
Art.1: Et es wie et es
Art.2: Et kütt wie et kütt
Art.3: Et hätt noch immer jot jejange
Das Kölsche Grundgesetz