Javascript 变量内容不保存在函数中
我有个问题找不到解决办法。 在我的代码中有一个名为Javascript 变量内容不保存在函数中,javascript,Javascript,我有个问题找不到解决办法。 在我的代码中有一个名为list的变量。 变量list应该使用getElementsByName()检索输入元素, 但该变量在if语句之后为空(即list.length==0) 结束了。 在下面的代码中,在for循环的开始处,列表。长度为零或未定义 为什么会发生这种情况 功能是: function chekRadioToAnswer() { var signAnswers = new Array(0, 0, 0, 0); var grades = [[0
list
的变量。
变量list
应该使用getElementsByName()
检索输入元素,
但该变量在if
语句之后为空(即list.length==0
)
结束了。
在下面的代码中,在for
循环的开始处,列表。长度为零或未定义
为什么会发生这种情况
功能是:
function chekRadioToAnswer() {
var signAnswers = new Array(0, 0, 0, 0);
var grades = [[0, 5, 10, 15], [15, 12, 10, 5, 0], [0, 5, 10, 15, 20], [0, 0, 20, 30]];
var answers = new Array(0, 0, 0, 0, 0, 0);
for (num = 2; num <= 5; num++) {
if (num == 2) {
list = document.getElementsByName("answer2");
}
if (num == 3) {
list = document.getElementsByName("answer3");
}
if (num == 4) {
list = document.getElementsByName("answer4");
}
if (num == 5) {
list = document.getElementsByName("answer5");
}
for (i = 0; i < list.length; i++) {
if (list[i].checked) {
var value = document.getElementById("hiddenAnswers").getAttribute("value");
document.getElementById("hiddenAnswers").setAttribute("value", (value + grades[num - 2][i]));
break;
}
}
list.length = 0;
}
return false;
}
函数chekRadioToAnswer(){
var signAnswers=新数组(0,0,0,0);
风险值等级=[[0,5,10,15]、[15,12,10,5,0]、[0,5,10,15,20]、[0,0,20,30];
var answers=新数组(0,0,0,0,0,0);
对于(num=2;num如果您试图创建输入数组,则需要首先声明列表并为其分配一个空数组:
var list = [];
然后使用push
添加到数组中:
//If you are going to use getElementsByName, take the first member of the array
var rdo = document.getElementsByName("answer3");
for (var x = 0; x < rdo.length; x++){
if (rdo[x].checked){
list.push(rdo[x]);
}
}
//如果要使用getElementsByName,请获取数组的第一个成员
var rdo=document.getElementsByName(“answer3”);
对于(var x=0;x
whatever=document.getElementsByName(名称)
如果找不到给定名称的元素,则为whatever
分配一个空数组。确保元素名称正确
另外,使用var
关键字声明变量也很好。这可以防止许多可怕的错误。如果你能告诉我为什么要构建2d数组,我会给你投票。我真的看不出有什么理由这么做……那不是2d数组……你认为我为什么要声明2d数组?list.push([some,array])
=>列表=[[一些,数组]]
.getElementsByName返回一个数组我很抱歉我以为它是getElementById
不是getElementsByName
将进行编辑…嗯…这看起来仍然不对。for循环中的单词checked
告诉我们一些关于输入元素性质的重要信息。您是在建议如果用户没有检查第一个框/单选按钮,然后应丢弃其输入