Liebe/-r Experte/-in,
ich habe ein dynamisches Formular.
In dem Formular gibt es jeweils ein Textfeld Menge und ein Feld Preis und das Ganze mit
preis1, preis2, preis3 usw.
Nun möchte ich das Ganze aufsummieren.
var gesamtsumme=0;
function Gesamt(teilsumme)
{
if(document.getElementById(„gesamtsumme“).value==„wird berechnet …“)
gesamtsumme=teilsumme;
else
{
var gesamtsumme = document.getElementById(„gesamtsumme“).value;
var gesamtsumme=parseFloat(gesamtsumme)+parseFloat(teilsumme);
}
alert(gesamtsumme);
document.getElementById(„gesamtsumme“).value=gesamtsumme; }
function teilsumme_berechnen(posnr)
{
var aktuellenr=„menge“+posnr;
var menge=parseInt(document.getElementById(aktuellenr).value);
var aktuellerpreis=„einzelpreis“+posnr;
var einzelp=parseFloat(document.getElementById(aktuellerpreis).value);
// alert(einzelp);
var teilsummex=einzelp*menge;
var xyz=„teilsumme“+posnr;
parseFloat(document.getElementById(xyz).value=teilsummex);
Gesamt(teilsummex);
}
Also ich lese Menghe und preis aus und bei onchange summiert er mir eine Teilsumme auf und zum Scgkuss ruft er die Funktion Gesamt auf, wo er die Einzelnen Summe zu einer Endsumme zusammenpackt.
Nun kommt der Haken:
Ändere ich eine Wert, nimmt er den vorherigen Wert aus dem Gesamtfeld und dann packt er die neuen Werte dazu.
Es müsste also sowas wie einen Reset geben.
Bsp.:
2 Blöcke mit
Menge1: 1 und Preis1 2
Menge2: 13 und Preis2 5
Rauskommen tutda korrekt 67
Ändere ich nun zB Menge2 von 13 zu 3 müsste da 17 rauskommen. Aber die gesammtsumme merkt sich fälschlicherweise die 67 und packt die 17 obendrauf (=84).
Einfach alle Felder aufsummieren kann ich nicht, da die Felder am Anfang noch leer sind.
Any idea? Danke für Deine Mühe. Vielleich habe ich auch eine völlig falschen Ansatz. ich vermute mal der falsche Ansatz ist das gesamtsumme=gesamtsumme+preisx;
Ist ein Array eine Lösung? also alles ins array rein und dann aufsummieren? Grübel Grübel Grübel.