我正在创建一个由sku,qty和subtotal组成的动态表单。因此,表单从没有输入开始,并在用户搜索产品时填满。按键时,我需要计算总数量并通过javascript显示给用户。
我在按键时使用getElementsByClassName获取所有数量输入元素并计算所有值。但是浏览器返回错误(Uncaught TypeError:无法读取未定义的属性'值'但是我可以记录该值。
我只使用本机JavaScript而不使用jQuery。
qtyelements = document.getElementsByClassName('qty-element');
var x;
var count = 0;
for(x = 0; x <= qtyelements.length; x++){
console.log(qtyelements[x].value);
count = count + parseInt(qtyelements[x].value);
}
这是我的形象 problem
答案 0 :(得分:2)
长度为您提供项目数,但集合为零。因此,例如,虽然长度可能是三,但您只能循环到两个(0,1,2)。
所以改变:
x <= qtyelements.length
为:
x < qtyelements.length
在你的情况下,看起来你只有两个元素,因此索引将是0和1,但是你检查2是否存在<=
,因此未定义。