javascript - 如何读取表内文本框的值

标签 javascript html-table textbox

我需要读取表格内文本框的值。

以下是我创建表格的方法。

var theader = '<table border = "1" id = "MarksTable">\n';
var tbody = '';

for ( var i = 0; i < total_rows; i++) {
    tbody += '<tr>';
    for ( var j = 0; j < total_col; j++) {
        tbody += '<td name=' + "cell" + i + j + '>';
        if (i > 0) {
            tbody += '<input type="text" value = "marks" name="inputcell1'+j + '">';
        } else {
            tbody += '<b>' + subjectList[j] + '</b>';
        }
        tbody += '</td>';
    }
    tbody += '</tr>\n';
}
var tfooter = '</table>';
document.getElementById('wrapper').innerHTML =  theader
        + tbody + tfooter ;

下面是我尝试读取文本框值:

function readTableData(){
    var marks = [];
    var table = document.getElementById("MarksTable");
    var column_count = table.rows[1].cells.length;
    var row = table.rows[1];
    if(column_count>0){
        for(var index = 0; index < column_count;index++){
            marks[index] = row.cells[index].innerHTML;
        }
    }
    return marks;
}

在这里,row.cells[index].innerHTML给出输出 '<input type="text" value = "marks" name="inputcell10"> .

最佳答案

试试这个:

function readTableData(){
    var marks = [];
    var table = document.getElementById("MarksTable");
    var column_count = table.rows[1].cells.length;
    var row = table.rows[1];
    if(column_count>0){
        for(var index = 0; index < column_count;index++){
            marks[index] = row.cells[index].getElementsByName('inputcell' + index)[0].value;
    //Or marks[index] = document.getElementsByName('inputcell' + index)[0].value;
        }
    }
    return marks;
}

关于javascript - 如何读取表内文本框的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17379112/

相关文章:

javascript - 根据给定标准对对象键进行排名

php - 键入时存储的表单输入

javascript - 具有不透明度淡入/淡出的全屏黑色背景

php - 将MySQL请求结果放入表中

javascript - 文本在 Google 网上论坛中设置,帖子正文但不显示?

javascript - 计算 float 元素的宽度

python - Django 中的 CSS 表格样式未显示表格设计

javascript - 带有方形单元格的 HTML 表格适合屏幕高度

html - 删除文本框下拉建议

c# - WPF 的 TextBox 中的 ScrollToCaret 在哪里?