0

<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>
4

2 回答 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 回答