addieren von x Eingabefeldern

OvK

Grünschnabel
Hallo,

ich habe ein Formular in dem 1-12 Werte eingegeben werden können.
Um nicht die Felder alle einzeln aufzuführen, möchte ich das in einer Schleife machen.
Was mache ich falsch, kann mir jemand einen Tipp geben ?

Gruß
Klaus

Javascript:
  <script>

   function calculateSumme() {
   var nSumme = 0;
  for (var i = 1; i < 13; i++) {
  nSumme += parseFloat( document.MeinFormular.WERT+i.value.replace(/,/ , ".") );;
  }
  document.MeinFormular.summe.value = nSumme.toString().replace(/\./ , ",");
  }
  </script>

HTML:
  <FORM name="MeinFormular" METHOD="post">
  <table>
  <tr>
  <td> Zahl 1: </td>
    <td> <INPUT type='text' id='WERT1' name='WERT1' value='1'  onblur= 'calculateSumme()' SIZE=12 MAXLENGTH= 9 style='color:blue;font-weight:bold;text-align:right'></td>
  </tr>
  <tr>
  <td> Zahl 2: </td>
    <td> <INPUT type='text' id='WERT2' name='WERT2' value='2'  onblur= 'calculateSumme()' SIZE=12 MAXLENGTH= 9 style='color:blue;font-weight:bold;text-align:right'></td>
  </tr>
  <tr>
    <td> Summe:  </td>
    <td> <INPUT type='text' id='summe'  name='summe'  value=''  SIZE=12 MAXLENGTH= 9 style='color:blue;font-weight:bold;text-align:right'></td>
  </tr>
  <tr/>
  </form>
 
Nein, wenn Du das so machen wolltest, müsstest Du eval() verwenden. Ich empfehle, lieber die ID als String aus dem Schleifenindex zusammen zu bauen und die Elemente jeweils mit document.getElementById() zu ermitteln.
Code:
nSumme += parseFloat( document.getElementById("WERT" +i).value.replace(/,/ , ".") );;
Oder den Elementen eine gemeinsame Klasse zu geben, sie mit getElementsByClassName zu ermitteln und das Array, das sich ergibt, in einer Schleife zu bearbeiten.
 
Zurück