Javascript 通过ID循环获取元素

Javascript 通过ID循环获取元素,javascript,Javascript,我对javascript非常陌生,我正在尝试循环通过一个变量将id增加到60。我有一个表单,用户可以在其中输入数字,然后我需要它将它们相加。这就是我目前所拥有的 <input type="text" onkeyup="addNumbers()" id="name1"> <input type="text" onkeyup="addNumbers()" id="name2"> <input type="text" onkeyup="addNumbers()" id="

我对javascript非常陌生,我正在尝试循环通过一个变量将id增加到60。我有一个表单,用户可以在其中输入数字,然后我需要它将它们相加。这就是我目前所拥有的

<input type="text" onkeyup="addNumbers()" id="name1">
<input type="text" onkeyup="addNumbers()" id="name2">
<input type="text" onkeyup="addNumbers()" id="name3">
etc..
<input type="text" id="total" disabled>

function addNumbers(){

    var name = []

    for( var i = 0; i < 60; i++ ) {
        name[i] = parseInt( document.getElementById("name" + i).value );
    }

 var total = document.getElementById('total').value = var;


}
</script>

等
函数addNumbers(){
变量名称=[]
对于(变量i=0;i<60;i++){
name[i]=parseInt(document.getElementById(“name”+i.value));
}
var total=document.getElementById('total')。value=var;
}
我没有从上述代码中获得任何输出,因此我不确定我在这里做错了什么。

var total=0;
    var total = 0;
    for( var i = 0; i < 60; i++ ) {
        total += parseInt( document.getElementById("name" + i).value );
    }

    document.getElementById('total').value = total;
对于(变量i=0;i<60;i++){ total+=parseInt(document.getElementById(“name”+i).value); } document.getElementById('total')。value=total;

试试这个。您当前的代码很接近,但您使用的数组使事情变得复杂。另外,您正在将
var
赋值给无效的元素。

最好的方法是添加一个类。然后按类名获取元素。这将为您提供一个输入元素数组。然后,您可以轻松地遍历列表以获取输入项的值并将它们添加到一起。最好这样做,这样就不用硬编码输入的数量:)

是的。。知道了。。您应该在dom元素上传递输入文本框中的值,如..
onclick=“return functionname(this.value)”
,并在TGH应答时使用javascript函数中的rest。

试试这个。您必须从索引1迭代到60,并找到每个输入框的值。若值有效,则查找sum并分配给total

addNumbers=函数(el){
var合计=0;
对于(变量i=1;i 0){
总+=val;
}        
}
document.getElementById('total')。value=total;
}

document.getElementById('total')。value=var您期望“var”是什么?你也没问过问题你能用jQuery吗???@meagar,他问了一个问题,看上面
addNumbers = function(el){
    var total = 0;
    for( var i = 1; i <= 60; i++ ) {
        var val = parseInt(document.getElementById("name" + i).value);
        if(val>0){
           total += val;
        }        
    }
    document.getElementById('total').value = total;
}