var q = [];
for (var i = 0; i < 32; i++){
q[i] = document.getElementById('qty[i]').value;
}
q 将包含您的所有值。您应该在 for 循环之外声明数组 q,因为这是公认的最佳实践。如果您根本不声明q,它将成为一个隐含的全局变量,您可能希望避免这种情况。如果你在循环中声明q,每次迭代都会覆盖它,所以你需要确保在外部声明它。
另外,你会注意到我改变了你的 for 循环:
for(i = 1; i <= 32; i++) {
到这里:
for (var i = 0; i < 32; i++){
你从 1 循环到 32;这是不正确的,因为 Javascript 中的数组是 0 索引的;换句话说,它们从零开始计数。既然是这种情况,您的 for 循环也需要从零开始计数,并在 31 结束。此外,您需要在 for 循环中声明 var i;否则,它将成为一个全局变量。
现在,如果您真的不想在 for 循环之外声明 q,您可以按照 Kirian 演示的方式进行操作;也就是说,使用if 语句来确定q 是否已经被声明,如果没有,则声明它。看起来像这样:
for (var i = 0; i < 32; i++){
if(!q) q = [];
q[i] = document.getElementById('qty[i]').value;
}
另外注意,如果 qty 是您代码中的一个数组,那么您可能需要这个:
var q = [];
for (var i = 0; i < 32; i++){
q[i] = document.getElementById(qty[i]).value;
}
如果qty 是一组看起来像qty[1], qty[2], qty[3]... 的ID 的一部分,那么您需要这个:
var q = [];
for (var i = 0; i < 32; i++){
q[i] = document.getElementById('qty[' + i + ']').value;
}