Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript getElementsByName赢得';t循环通过整个阵列_Javascript_Loops - Fatal编程技术网

Javascript getElementsByName赢得';t循环通过整个阵列

Javascript getElementsByName赢得';t循环通过整个阵列,javascript,loops,Javascript,Loops,按下按钮时执行以下代码。它可以很好地警告getElementsByName数组的一个字符串,但当引入循环时,它仍然只警告第一个字符串值,仅此而已: function checkvals() { var input = document.getElementsByName('ModuleTitle', 'ModuleCode', 'BuildingName', 'Day'); var i = 0; for (i = 0; i <= input.length; i++){ alert(in

按下按钮时执行以下代码。它可以很好地警告getElementsByName数组的一个字符串,但当引入循环时,它仍然只警告第一个字符串值,仅此而已:

function checkvals() {

var input = document.getElementsByName('ModuleTitle', 'ModuleCode', 'BuildingName', 'Day');
var i = 0;

for (i = 0; i <= input.length; i++){
alert(input[i].value);
}
}
函数checkvals(){
var input=document.getElementsByName('ModuleTitle','ModuleCode','BuildingName','Day');
var i=0;

对于(i=0;i这是因为
getElementsByName
只接受一个
name
参数,并为其
name
属性返回具有该值的所有元素。(请参阅。)如果要查找多个
名称
s,则必须多次调用它。

这是因为
getElementsByName
只接受一个参数,因此它只获取第一个名称

你可以像这样建立一个完整的集合

var names = ['ModuleTitle', 'ModuleCode', 'BuildingName', 'Day'];

var input = [];
for(var i = 0; i < names.length; i++) {
    var name_els = document.getElementsByName(names[i]);
    for(var j = 0; j < name_els.length; j++) {
        input.push(name_els[j]);
    }
}
应该是这个

for (i = 0; i < input.length; i++){
for(i=0;i

…否则,您将超过最后一个索引。

但即使我这样做,它仍然只会通知一个值:函数checkvals(){var input=document.getElementsByName('ModuleTitle','ModuleCode','BuildingName','Day');警报(输入[0].value);警报(输入[1].value);警报(输入[2].value);警报(输入[3].value);}
for (i = 0; i < input.length; i++){