summe aus array in einem Formularfeld

skyhi

Mitglied
Hallo zusammen,

habe eine Datei, in der ich per Klick neue Felder für einen nächsten Artikel öffne.
in den Feldern ist auch Menge und Einzelpreis, welche ich mit onBlur multipliziere und ich im Feld "X" neben dem Artikel anzeigen lasse.
Mein Problem ist nun, dass ich die Summe aus "X" berechnen und diese dann im Feld Gesamt direkt anzeigen lassen möchte.
Hat da jemand eine Idee?

Hier die Berechnung vom Produkt:
function kalkSumme()
Code:
{

var Ausgabe = "";

Wertende = document.getElementsByName("Art2[]").length;

for(var i = 0; i < Wertende; i++)

{

document.getElementsByName("Art6[]")i].value = 

document.getElementsByName("Art4[]")i].value * document.getElementsByName("Art5[]")i].value;

}
 
Ok, das hab ich nun rausgefunden. habe folgendes hinzugefügt und es funkt.
Code:
function kalkSumme()

{

var Ausgabe = 0;

Wertende = document.getElementsByName("Art2[]").length;

for(var i = 0; i < Wertende; i++)

{

document.getElementsByName("Art6[]")i].value = 

document.getElementsByName("Art4[]")i].value * document.getElementsByName("Art5[]")i].value;

Ausgabe = Ausgabe + document.getElementsByName("Art6[]")i].value;

document.Formular.gesamt.value = Ausgabe;

}

}
Das problem ist nun nur noch, dass er zum Beispiel 200.00 mit 400.00 addiert und als Summe 0200400 angezeigt wird.:mad:
 
Hi,

die Werte aus den Feldern mit den Bezeichnungen "Art[4]", "Art[5]" und "Art[6]" enthalten Text.
Somit ist eine Addition bzw. Multiplikation erst möglich, nachdem sie in Floatzahlen umgewandelt
wurden. parseFloat stellt diese Funktion zur Verfügung.
Code:
function kalkSumme(){
    var Ausgabe = 0;
    Wertende = document.getElementsByName("Art2[]").length;

    for(var i =0; i < Wertende; i++){
        document.getElementsByName("Art6[]")[i].value =
        parseFloat(document.getElementsByName("Art4[]")[i].value) * parseFloat(document.getElementsByName("Art5[]")[i].value);
        Ausgabe = Ausgabe + parseFloat(document.getElementsByName("Art6[]")[i].value);
        document.Formular.gesamt.value = Ausgabe;
    }
}
Ich kam selbst nicht zum Testen, sollte aber funktionieren.

Ciao
Quaese
 

Neue Beiträge

Zurück