Javascript 输入元素值未定义

Javascript 输入元素值未定义,javascript,Javascript,我有一个JavaScript函数,它并没有像我预期的那样工作。该函数应循环通过输入框,并显示带有输入值的警报。由于某种原因,输入都返回一个未定义的。我确信输入元素的ID是正确的。我可以对输入执行其他操作(更改颜色,设置.innerHTML),但似乎无法收集值。有人能指出我可能做错了什么吗 function submitHours(){ var table = document.getElementById('StudentList'); var tbody = table.get

我有一个JavaScript函数,它并没有像我预期的那样工作。该函数应循环通过
输入
框,并显示带有
输入
值的警报。由于某种原因,
输入
都返回一个
未定义的
。我确信
输入
元素的ID是正确的。我可以对输入执行其他操作(更改颜色,设置
.innerHTML
),但似乎无法收集值。有人能指出我可能做错了什么吗

function submitHours(){
    var table = document.getElementById('StudentList');
    var tbody = table.getElementsByTagName('tbody')[0];
    var rows = tbody.getElementsByTagName("tr");
    for (var r = 1; r < rows.length+1; r++) {
        for(x=1; x<=25; x++){
            document.getElementById(r+'day'+x).style.backgroundColor = 'red';
            alert(document.getElementById(r+'day'+x).value);
        }
    }
}
函数submitHours(){
var table=document.getElementById('StudentList');
var tbody=table.getElementsByTagName('tbody')[0];
var rows=tbody.getElementsByTagName(“tr”);
对于(var r=1;r对于(x=1;x您需要使用
innerText
而不是
value

for(x=1; x<=25; x++){
  document.getElementById(r+'day'+x).style.backgroundColor = 'red';
  alert(document.getElementById(r+'day'+x).innerText);
}

for(x=1;x看起来您选择的元素包含目标的
输入
,而不是
输入
本身。这就是为什么您可以设置
.innerHTML
,但无法获得
值的原因

要获取值,请执行以下操作:

function submitHours(){
    var rows = document.querySelector('#StudentList > tbody:first-child > tr');

    for (var r = 1; r < rows.length+1; r++) {
        for(var x=1; x<=25; x++){
            var input = document.querySelector('#' + r+'day'+x + " input");
            input.style.backgroundColor = 'red';
            alert(input.value);
        }
    }
}
函数submitHours(){
var rows=document.querySelector('#StudentList>tbody:first child>tr');
对于(var r=1;r对于(var x=1;xonly)某些HTML元素有一个
.value
-input's,option's等-在没有看到HTML的情况下,我们如何判断id为
1day1
Nday25
的元素是什么?
文档.getElementById(r+'day'+x)
通过写这篇文章,你想选择什么类型的元素?为什么不在
输入
元素上包含html代码?
.innerText
?不完全是。它们可以是任何元素,甚至不一定在同一个表中,尽管我想象它们在表单元格中。无论如何,他提到了“输入”元素多次。可能是目标ID在单元格上,但他希望在某处嵌套输入。他发布HTML结构库后,我将编辑我的答案。我在td元素上有ID,而不是输入本身。