从表中的输入中获取值

时间:2015-04-13 18:51:39

标签: javascript

我有以下代码:

function create_row() {
    var table = document.getElementById("main_table");
    var n = table.rows.length;
    var m = table.rows[0].cells.length;
    var row = table.insertRow(-1);
    var cell = row.insertCell(0);
    cell.innerHTML = n;
    var cell = row.insertCell(1);
    cell.innerHTML = "<input size=10>";
    for (i=2; i<m; i++) {
        var cell = row.insertCell(i);
        cell.innerHTML = "<input size=4>";
    } 
}

function print_values() {
    var table = document.getElementById("main_table");
    for (i=1; i<table.rows.length; i++) {
        console.log(table.rows[i].cells[1].innerHTML);
    }
}

然而,当我打印值时,我得到<input size="10">

问题是,当我创建一行时,我手动将一些值添加到表(在网页中),我想在日志中打印这些值。如何访问这些值,而不是输入的html?

我可能可以为每个输入表单分配一个id,然后访问value关键字,但是想想也许使用表格单元格就足够了。

2 个答案:

答案 0 :(得分:2)

input元素是表格单元格的子元素。您必须使用.value来获取输入的值,而不是.innerHTML

console.log(table.rows[i].cells[1].childNodes[0].value)

答案 1 :(得分:0)

您需要输入的内部,因此您必须选择该输入。

yourExistingSelector.querySelector("input").innerHTML

在你的情况下:

table.rows[i].cells[1].querySelector("input").innerHTML