Formular Listenwerte addieren
lakul
- java
Hallo!
Ich bin leider etwas unerfahren in Java und weiß leider auch nicht so richtig wo ich nachlesen kann.
Ich habe ein Formular welches aus 4 Seiten besteht.
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.
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). Zu guter Letzt soll der Ergebniswert der vorhergehenden Seite mit dem Listerwert der zweiten Seite addiert werden und gleich auf deiser Seite ausgegeben werden.
Kann mir dan bitte einer helfen? Oder hat vielleicht einer einen guten Link, wo ich nachlesen könnte, ohne erst aufwengig Java lernen zu müssen?
Viele Dank
Lakul
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