Berechnung von Daten ohne Click?

redlama

Erfahrenes Mitglied
Hallo zusammen!

Ich habe ein (für mich) riesiges Problem!
Ich bin auf dem Gebiet JavaScript noch total unerfahren!
Ich kriege es hin, Felder eines Formulares auf deren Inhalt zu überprüfen, aber dann hört es auch schon auf, ...

Nun habe ich die Aufgabe, in einem Formular Daten zu berechnen.
Erklärung: Das Formular hat den Namen "Form".
Es gibt drei Eingabefelder: "upe", "sonderaus" und "upe_ges".
Nun sollen die Werte der Felder "upe" und "sonderaus" addiert und in "upe_ges" ausgegeben werden.
Das ganze soll ohne das klicken eine Buttons geschehen, also am besten direkt bei der Eingabe von Werten.

Kann mir jemand sagen wie ich das realisieren kann bzw. wo ich dazu Hilfe finde?
Ich habe schon bei SelfHTML, google und hier im Forum gesucht, aber nicht wirklich etwas gefunden, was mir hilft.

Schon mal Danke im voraus!

redlama
 
Hi;

das könnte z.B. so aussehen

HTML:
<form action="" name="form" method="post" onkeypress="document.form.upe_ges.value=Number(document.form.upe.value)+Number(document.form.sonderaus.value);">
<input name="upe" type="text" />
<input name="sonderaus" type="text" />
<input name="upe_ges" type="text" />
<input type="button" />
</form>

Greetz
 
Hey, danke Euch beiden!
Das war genau das, was ich für den Moment gesucht habe!
Da das Formular noch ein wenig mehr JavaScript benötigt kann es durchaus sein, dass ich mich nochmal melde!
Aber soweit erstmal nochmals Danke!

redlama
 
hallo zusammen.

ich habe diese funktion auch gebraucht und sie hat soweit funktioniert. es sieht jetzt so aus:

onMousemove="bestellformular.gesamtpreis.value=Number(bestellformular.preis.value)*Number(bestellformular.anzahl.value);

aber ich habe auch zahlen (bei den preisen), die nachkommastellen haben. ich will aber, dass der endpreis immer mit fixen zwei nachkommastellen kommt und entsprechend rundet. wie muss ich das anstellen

vielen dank jetzt schon für die hilfe.

gruss ff4f
 
Hi;
um das gewünschte Ergebnis zu erhalten, musst du den Code wie folgt ändern->

Code:
...onclick="document.bestellformular.gesamtpreis.value=(Math.round((Number(document.bestellformular.preis.value)+Number(document.bestellformular.anzahl.value))*100)/100);"...

Viel Spass damit

Greetz
 
vielen dank für die schnelle antwort..

ich habs nun wie folgt versucht und es zeigt mir immer noch nicht die zwei dezimalstellen an. vielleicht rundet er, aber ich bräuchte bei jeder zahl, egal ob mit oder ohne nachkommastellen, eine zahl mit fix zwei Nachkommastellen.

zb.
200.00
56.80
34.85
etc.

mein code sieht so aus:

onMousemove="bestellformular.gesamtpreis.value=(Math.round((Number(bestellformular.preis.value)*Number(bestellformular.anzahl.value))*100)/100);

im moment zeigt er die zahl immer noch so wie vorher ohne die veränderung, die berechnung tut, aber die dezimalstellen sind nicht so, wie gewünscht...

was ist hier falsch?

gruss ff4f
 
Mit dem Code gehts (zumindest bei mir):

Code:
...onkeyup="document.form.upe_ges.value = (Number(document.form.upe.value) + Number(document.form.sonderaus.value)).toFixed(2);"...
 

Neue Beiträge

Zurück