<head>
<title>Projects</title>
<style type="text/css">
.newtable
{
width:60%;
border:3px solid brown;
font-size:18px;
border-collapse: collapse;
border-spacing: 0;
border-padding: 10;
cellspacing: 0;
}
#newtable
{
width:60%;
border:3px solid brown;
font-size:18px;
border-collapse: collapse;
border-spacing: 0;
border-padding: 10;
cellspacing: 10;
}
#newtable td
{
width:200;
background-color:gray;
border:2px solid brown;
text-align:center;
border-padding: 10;
cellspacing: 10;
}
</style>
<script type="text/javascript">
function makeTable()
{
row=new Array();
cell=new Array();
row_num=20;
cell_num=4;
tab=document.createElement('table');
tab.setAttribute('id','newtable');
tbo=document.createElement('tbody');
tbo.setAttribute('id','tabody');
for(c=0;c<row_num;c++)
{
row[c]=document.createElement('tr');
for(k=0;k < cell_num;k++)
{
cell[k] = document.createElement('td');
if (k > 0)
{
cont=document.createElement("input");
cont.setAttribute('type','text');
cell[k].appendChild(cont);
row[c].appendChild(cell[k]);
}
else
{
cont=document.createTextNode("0" + (c+1));
cell[k].appendChild(cont);
row[c].appendChild(cell[k]);
}
}
tbo.appendChild(row[c]);
}
tab.appendChild(tbo);
document.getElementById('mytable').appendChild(tab);
mytable.setAttribute("align", "top-left");
}
function GetCellValues()
{
row=new Array();
cell=new Array();
row_num=20;
cell_num=4;
tab = document.getElementsByTagName('table');
tbo = tab.getElementsByTagName('tbody');
for(=0 ; c < row_num; c++)
{
row = tbo.getElementsByTagName('tr');
for(k=0; k < cell_num; k++)
{
cell = row.getElementsByTagName('td');
{
cont=cell.getElementsByTagName('input');
{
alert(cont.value);
}
}
}
}
}
</script>
</head>
</html>
问问题
289 次
2 回答
1
您通过访问 .value 属性正确阅读,问题出在其他地方。
这是一个更干净的版本:https ://gist.github.com/anonymous/7331383
你遇到的问题:
- 首先不要忘记声明您正在使用的变量。
- 您正在添加到实际上并不需要的数组(行/单元格)中。
- 表格未添加到正文中
- 需要在加载时调用 makeTable() (可以从控制台调用其他函数,或者您可以为此添加一个按钮)。
- GetCellValues() 中不必要的大括号,使用好的编辑器,不要忘记缩进代码,以防止这种情况
- 测试时使用 console.log() 打印到控制台,而不是 alert()
也许还有其他我不记得的东西 xD
希望能帮助到你。
于 2013-11-06T05:37:06.243 回答
0
将类分配给输入,然后按类名获取
var elements =document.getElementsByClassName('test');
for(var i=0;i<elements.length;i++)
{
console.log(elements[i].value);
}
于 2013-11-06T05:14:00.293 回答