unbestimmte Anzahl an Formularelementen addieren

pxlArtizzt

Erfahrenes Mitglied
Hi!

Ich habe eine unbestimmte Anzahl an Formularelementen à la <input type="text" value="0" name="element_1">, sowie ein Element, dass die Summe aller dieser Elemente anzeigen soll.

Wie schaffe ich es nun, dass, sobald man einen Wert ändert, dass ALLE Werte addiert werden und dann bei Summe angezeigt werden?

im Voraus!
 
Hallo,

darf man vorraussetzten, dass alle eingaben in Input=text Felder gemacht werden? Ebenso wichtig wäre eine durchgehende Namensgebung - zum Beispiel "Artikel_1", "Artikel_2", "Artikel_3" usw... Wenn beide bedingenen zutreffen, kann man was machen :)

bye
 
genau, du gehst vom richtigen Fall aus :)

Eingaben sind gemacht (Standard ist 0)
und die Felder heißen art_ha_ und dann 1-XX
 
Hello again.

Ok, hab jetzt eine ganz brauchbare Lösung...
Code:
<html>
<head>
  <script type="text/javascript">
  
  function sumArray(array)
  {
    var sum=0;
    for(var x=0; x<array.length; x++){
      sum += parseInt(array[x])
    }
    return sum;
  }
  
  
  function getTheValue(prefix)
  {
    var parts = new Array();
    var inputs = document.getElementsByTagName('input');
    for(var x=1; x<=inputs.length; x++){
      if(inputs[x-1].name == (prefix+x)){
        parts.push(inputs[x-1].value);
        inputs[x-1].onchange = new Function("getTheValue('"+prefix+"')");
      }
    }
    document.test.summe.value = sumArray(parts);
  }
 
  </script>
</head>
<body onload="getTheValue('teil_')">

  <form name="test">
    <input type="text" name="teil_1" value="0" />
    <input type="text" name="teil_2" value="0" />
    <input type="text" name="teil_3" value="0" />  
    <input type="text" name="teil_4" value="0" />
    <input type="text" name="teil_5" value="0" />
    <input type="text" name="teil_6" value="0" />
    <input type="text" readonly name="summe" />
  </form>

</body>
</html>
irgendwie kommts mir aber zu umständlich vor... Komm aber nicht drauf wo der "Umweg" ist.

bye
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück