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