javascript - 使用 Javascript 从 HTML 表格输入单元格中获取值
问题描述
我使用 Javascript 动态创建了一个 HTML 表,其中第一列由文本字段组成,第二列由输入字段组成,第三列由文本字段组成,效果很好:
nrOfRows = document.getElementById("myId").value; //get nrOfRows from input
var i;
var row;
var cell1;
var cell2;
var cell3;
for (i = 0; i < nrOfRows; i++) {
row = table.insertRow(i); //table is defined earlier
cell1 = row.insertCell(0);
cell2 = row.insertCell(1);
cell3 = row.insertCell(2);
cell1.innerHTML = "some text"; //Put "some text" in all column1 fields
cell2.innerHTML = '<input type="text" class="form-control" size="5" maxlength="4" />'; //Make all fields in column2 input fields.
}
在此之后,我在输入字段(column2)中输入一些内容并尝试获取此输入并将其放入 column3,通过执行以下操作:
for (var r = 0; r < nrOfRows; r++) {
table.rows[r].cells[2].innerHTML = table.rows[r].cells[1].innerHTML;
}
这不起作用。它不是将输入字段中的值放在第三列中,而是将第三列中的文本字段替换为新的输入字段,就像它使用 HTML 代码而不是值一样。
这有效(将 column1 中的值取到 column3 中):
for (var r = 0; r < nrOfRows; r++) {
table.rows[r].cells[2].innerHTML = table.rows[r].cells[0].innerHTML;
}
关于如何从输入字段而不是 HTML 代码中获取值的任何线索?
这就是我得到的。我希望中间列的数字进入右列,但它会用新的输入字段替换所有内容:
解决方案
您直接访问cells[1]
并获取它的 innerHTML 而cells[1]
有一个孩子,您需要访问它value
而不是innerHTML
like children[0].value
。
在此处检查访问DOM 元素对象
此外,您可以使用querySelector。
var table;
window.onload = function()
{
table = document.getElementById("test");
nrOfRows = 3;//document.getElementById("myId").value; //get nrOfRows from input
var i;
var row;
var cell1;
var cell2;
var cell3;
for (i = 0; i < nrOfRows; i++) {
row = table.insertRow(i); //table is defined earlier
cell1 = row.insertCell(0);
cell2 = row.insertCell(1);
cell3 = row.insertCell(2);
cell1.innerHTML = "some text"; //Put "some text" in all column1 fields
cell2.innerHTML = '<input type="text" class="form-control" size="5" maxlength="4" />'; //Make all fields in column2 input fields.
}
}
function GetValue()
{
for (var r = 0; r < nrOfRows; r++) {
table.rows[r].cells[2].innerHTML = table.rows[r].cells[1].children[0].value;
}
}
<table id="test" border="1">
</table>
<input type="button" value="Get Value" onclick="GetValue()" />
推荐阅读
- node.js - 当我要求注册请求时,会显示一条错误消息
- reactjs - React 项目的文件结构中存在许多嵌套路由和组件目录的原因
- json - 如何格式化 url 以仅返回 JSON 对象中的特定元素?
- python - 编辑 Ctypes 结构的缓冲区
- javascript - 间歇性“无法重新初始化 DataTable”错误
- c++ - 将非 ascii 字符转换为英文对应 C++
- python - Python在图例中绘制未对齐的标签和颜色
- android - 数据库输出到 EditText
- ios - Xcode iOS 错误 nw_connection_receive_internal_block_invoke
- c# - 在 VS c# 中添加新项目 UserControl Form 后出错