从多个文本框(循环)获取数字并编写方程式

时间:2015-10-18 07:06:12

标签: javascript

我想知道为什么这个循环工作,即使我添加额外的变量,因为我很好奇。我只期望numbers1在循环中工作。对不起,我是Javascript的新手

2 个答案:

答案 0 :(得分:1)

无论您添加了多少字段,它都有效,因为您正在使用getElementsByName获取包含name="s"name="a"的字段,这些字段会找到包含这些字段的所有字段名称无论有多少都有,并且您正在使用循环。

但请注意,您的输出始终只是最后一对结果,因为您正在分配#sum元素innerHTML

答案 1 :(得分:0)

我不明白你不明白的是什么。 程序对名为" s"的元素中的值求和。和" a"。

它使用一个循环同时将它们相加在一起,这是一个坏主意:只有在元素数量相等的情况下它才有效。

将两者分开:

function sumElementsByName(name) {
    var texts = document.getElementsByName(name);
    var sum = 0;
    for (var i = 0; i < texts.length; i++) {
        sum += parseInt(texts[i].value || 0);       
    }
    return sum;
}

document.getElementById("btn").addEventListener("click", function() {
    var sum_s = sumElementsByName("s");
    var sum_a = sumElementsByName("a");
    document.getElementById("sum").innerHTML = sum_s + " and " + sum_a;
});