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