如何使用javascript读取表格内的文本框的值

时间:2013-11-06 04:33:55

标签: javascript html css

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

2 个答案:

答案 0 :(得分:1)

您通过访问.value属性正确阅读,问题出在其他地方。

这是一个更清洁的版本:https://gist.github.com/anonymous/7331383

你遇到的问题:

  • 首先不要忘记声明您正在使用的变量。
  • 您正在添加不需要的数组(行/单元格)。
  • 该表未添加到正文
  • 需要在加载时调用makeTable()(可以从控制台调用另一个函数,或者可以为其添加一个按钮)。
  • GetCellValues()中不必要的括号,使用一个好的编辑器,不要忘记缩进代码,以防止这种情况
  • 使用console.log()在测试时打印到控制台,而不是alert()

也许其他东西我不记得xD

希望它有所帮助。

答案 1 :(得分:0)

将类分配给输入,然后按类名

获取
var elements =document.getElementsByClassName('test');
for(var i=0;i<elements.length;i++)
{
    console.log(elements[i].value);
}