Hilfe bei Abfrage dynamisch erzeugter inputfelder

So müsste es gehen:
Javascript:
function rechne() {
  for (i=1; i>=1; i++) {
    document.getElementById('Preis_'+i).value = new Number(document.getElementById('Anzahl_'+i).value) * new Number(document.getElementById('Stpreis_'+i).value);
    
    // Was das zu bedeuten hat, weiß ich nicht
    document.getElementById('Summe').value = '?';
  }
}
 
Also, es wird eine Tabelle bzw. Liste erstellt in folgendem Schema:

Anzahl_1 - .... - St.Preis_1 - Preis_1
Anzahl_2 - .... - St.Preis_2 - Preis_2
...

das Berechnen von Preis_ und 2 klappt hiermit einwandfrei
Javascript:
function rechne()
{
  for (i=1;i>=1;i++)
  {
  document.getElementById('Preis_'+i).value = document.getElementById('Anzahl_'+i).value * document.getElementById('Stpreis_'+i).value;
  }
}
nur klappt es leider nicht die Summe aus Prei_1 + Preis_2 + Preis_3 usw. in das Summe Feld zu übernehmen

Javascript:
function rechne()
{
  for (i=1;i>=1;i++)
  {
  document.getElementById('Preis_'+i).value = document.getElementById('Anzahl_'+i).value * document.getElementById('Stpreis_'+i).value;
// Und genau hier hakt es 
  document.getElementById('Summe').value = //keine ahnung was hier hin muss
  }
}
 
Du musst dich aber auch einmal verständlich ausdrücken.
Javascript:
function rechne() {
  for (i=1; i>=1; i++) {
    document.getElementById('Preis_'+i).value = new Number(document.getElementById('Anzahl_'+i).value) * new Number(document.getElementById('Stpreis_'+i).value);
    
    document.getElementById('Summe').value = new Number(document.getElementById('Summe').value) + new Number(document.getElementById('Preis_'+i).value);
  }
}
 
Was so simpel!
jetzt versteh ich auch gleich die sache mit Number
wenn ich auch gleich Javascript nicht wirklich verstehe ;-) obwohl es wenn man die Lösung sieht dummerweise so gut wie immer recht einfach ist.

nur was ich nicht verstehe warum klappt es bei
Javascript:
  document.getElementById('Preis_'+i).value = document.getElementById('Anzahl_'+i).value * document.getElementById('Stpreis_'+i).value;
ohne Number
und bei
Javascript:
  document.getElementById('Summe').value = document.getElementById('Summe').value + document.getElementById('Preis_'+i).value;
nicht?
liegt es an der Addition, kann JS das da nicht

aber wirklich vielen Dank hat mich schon einige Stunden gekostet ;-)
 
Doch, JavaScript kann schon addieren, nur ist hier das Problem, dass das Plus + sowohl als Additionszeichen als auch als Verbindungszeichen für Zeichenketten fungiert. Deshalb musst du in JavaScript bei der Addition darauf achten, dass du wirklich zwei Variablen vom Typ Number addierst und nicht eine davon ein String ist.
 
Zurück