Javascript 使用循环解析输入框中的数据时出现问题(平均等级计算器)

Javascript 使用循环解析输入框中的数据时出现问题(平均等级计算器),javascript,html,Javascript,Html,我想不出一种方法可以让我把数据从一个数字输入框带到一个循环中,然后让我把它相加并求平均值。我已经把问题缩小到程序中的一行 我将提供部分代码,希望有人能告诉我哪里出了问题。我要么得到NaN、null、未定义,要么得到html文本框代码 代码如下: 函数calcGrades{ 对于变量i=1;i

我想不出一种方法可以让我把数据从一个数字输入框带到一个循环中,然后让我把它相加并求平均值。我已经把问题缩小到程序中的一行

我将提供部分代码,希望有人能告诉我哪里出了问题。我要么得到NaN、null、未定义,要么得到html文本框代码

代码如下:

函数calcGrades{ 对于变量i=1;i 计算最终分数假设行类似于document.getElementsByTagName'tr':

sum+=parseIntcell.getElementsByTagName“输入”[0]。值

在这里,我们在每个单元格内搜索输入并获得输入值。由于该值的类型为String,我们需要在将其添加到sum之前将其强制转换为Number

另外,请记住,数组和类似数组的对象在js中是零索引的。 所以如果你想从第三个一开始,我们应该从索引2开始 对于var x=2;x<细胞长度;x++{

另外,在HTML5中,不需要约束功能,因为您的案例中有max-input属性


p.p.S这里有一个更简洁的解决方案,作为一个起点,您在任何输入上都会遇到错误,因为您的约束函数无法找到,因为它被包装在您的calcGrades函数中。如果您运行calcGrades函数,您将得到另一个错误,因为您没有定义或向行传递值变量。@benvc,我从两个不同的代码段中复制一个中间代码段时出错,但在实际代码中它是正确的,感谢您发现了这一点!我没有看到JSFIDLE中定义的行,在使用它一点之后,我能够使它工作。因为这是一个赋值,我建议创建另一个返回数组数组的er方法getRows或类似方法,后者引用单个输入框。之后,代码的其余部分将更加简单,因为您正在处理简单的循环和数学,只需最少的HTML解析。您能否澄清如何处理行?我已在代码中插入了“求和”行,但它没有任何作用当我按下calculate.See my fiddle时:我也在避免var I=1的标题行;I