我对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>
我没有从上面的代码中获得任何输出,所以我不确定我在这里做错了什么。
答案 0 :(得分:1)
试试这个。您必须从索引1迭代到60并找到每个输入框的值。如果值有效,请找到sum并分配给total。 JSFiddle
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;
}
答案 1 :(得分:0)
var total = 0;
for( var i = 0; i < 60; i++ ) {
total += parseInt( document.getElementById("name" + i).value );
}
document.getElementById('total').value = total;
试试这个。您当前的代码是关闭的,但您使用的数组使事情变得复杂。您还要将var
分配给无效的元素。
答案 2 :(得分:0)
最好的方法是添加一个类。然后按类名获取元素。这将为您提供一系列输入元素。然后,您可以轻松遍历列表以获取输入项的值并将它们添加到一起。最好这样做,所以你没有硬编码输入的数量:)
答案 3 :(得分:0)
是啊..得到它..你应该传递dom元素的输入文本框中的值,如... onclick="return functionname(this.value)"
,并使用休息,因为它在javascript函数中作为TGH回答。