Javascript getelementsbyname返回未定义的值

Javascript getelementsbyname返回未定义的值,javascript,html,arrays,Javascript,Html,Arrays,我是一个javascript新手,我尝试过这个 伍德努明普特{ 宽度:40px; } var i; 变量woodtypeAB=[AB_W15_L100,AB_W20_L100,AB_W25_L100,AB_W30_L100]; 对于i=0;i

我是一个javascript新手,我尝试过这个

伍德努明普特{ 宽度:40px; } var i; 变量woodtypeAB=[AB_W15_L100,AB_W20_L100,AB_W25_L100,AB_W30_L100]; 对于i=0;i<4;i++{ 文件。写; } 函数计算{ var ShowResult=document.getElementsByNamewoodtypeAB[3]。值; document.getElementByIdTest.innerHTML=ShowResult; } 这个

应该是

var ShowResult = document.getElementsByName(woodtypeAB[3])[0].value
由于woodtypeAB[3]被引号包围,因此它将被解释为字符串,而不是实际的数组值


document.getElementsByName返回元素的节点列表,因此您必须明确表示希望节点列表中的第一项,因此[0]

有一些地方出错

首先,您试图从集合而不是单个元素中获取.value

另外,您正在创建的元素的名称值为AB_uu。。。但是您试图使用一个非常不同的名称获取

我想您可能认为您获取的woodtypeAB[3]会以某种方式转换为用于创建元素名称的变量和索引。这不是它的工作原理

创建元素时,连接没有添加woodtypeAB[3]作为名称,而是添加位于该数组索引处的值。因此,要获取该特定名称,需要使用其数组值AB_W30_L100

伍德努明普特{ 宽度:40px; } var i; 变量woodtypeAB=[AB_W15_L100,AB_W20_L100,AB_W25_L100,AB_W30_L100]; 对于i=0;i<4;i++{ 文件。书写; } 函数计算{ var ShowResult=document.getElementsByNameAB_W30_L100; 如果ShowResult.length!=0{ document.getElementByIdTest.innerHTML=ShowResult[0]。值; } }
你期望结果是什么,所有数字的总和?
var ShowResult = document.getElementsByName(woodtypeAB[3])[0].value