Это потому, что 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]);
}
}
Затем выполните циклinput
Array, (или просто выполняйте свою работу во внутреннем цикле) .
Кроме того, у вас есть ошибка.
Это ...
for (i = 0; i <= input.length; i++){
должно быть таким ...
for (i = 0; i < input.length; i++){
... в противном случае вы пройдете один последний индекс.