for()-Werte addieren (0 wird vorgestellt)

Sebigf

Erfahrenes Mitglied
Hallo zusammen,

ich habe hier eine Funktion.

HTML:
function check_sum()
{
    var total_sum = 0;
    for(var i = 1; i <= 10; i++)
    {
        var field = document.getElementById("weight"+i).value;
        total_sum += field;
    }
    
    return document.getElementById("total").value = total_sum;
}

Diese soll alle Felder von 1-10 addieren. Soweit so gut, aber leider erhalte ich nur Werte wie "051" wenn ich in das erste Feld "51" eingebe.

Kann mir da jemand helfen ?

Danke
 
Probier mal Folgendes:
Code:
function check_sum()
{
	var total_sum = 0;
	for( var i = 1; i <= 10; i++ ) {
		total_sum += parseInt(document.getElementById("weight"+i).value);
	}

	return document.getElementById("total").value = total_sum;
}
 
Danke für deine Antwort.

Ich bekomme bei deiner Lösung "NaN" zurück.

Hier noch der Code des Feldes:

HTML:
ID=weight".$i." NAME=weight".$i." ONKEYDOWN='check_sum();' ONKEYUP='check_sum();'

Wir ebenfalls mit for() in PHP generiert...

Danke
 
Es muss wohl zusätzlich geprüft werden, ob ein numerischer Wert ermittelt werden kann:
Code:
function check_sum()
{
	var total_sum = 0;
	var tmp = 0;
	for( var i = 1; i <= 10; i++ ) {
		tmp = parseInt(document.getElementById("weight"+i).value);
		if( !isNaN(tmp) ) {
			total_sum += tmp;
		}
	}

	return document.getElementById("total").value = total_sum;
}
 

Neue Beiträge

Zurück