这是我的代码。我无法让警报起作用。
var chooseObject = document.getElementsByTagName("input");
var objectLength = chooseObject.length;
var hobbyArray = [];
//hobbyArray("aaa");
//hobbyArray("bbb");
//alert(hobbyArray); This one works.
for(var i=0;i<=objectLength;i++){
if((chooseObject[i].type=="checkbox")&&(chooseObject[i].checked==true)){
//alert(chooseObject[i].value); This one works.
hobbyArray.push(chooseObject[i].value); }
}
alert(hobbyArray);
如果我执行顶部警报(我已经发表评论),它就会起作用。如果我在 for 循环中提醒 chooseObject[i].value,没问题。但是如果我用数组做,它就失败了。有人可以帮助我吗?
最佳答案
您的 for
语句中有一个愚蠢的错误。这:
for(var i=0;i<=objectLength;i++)
应该是:
for(var i=0;i<objectLength;i++)
当您检查元素的属性时,额外的迭代会导致 TypeError
(chooseObject[objectLength]
给出 undefined
,它没有任何属性) .
关于javascript - 如何从复选框中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13351871/