javascript - 在动态 javascript 表中输入文本
问题描述
我尝试在表格中生成一个文本字段:表格随着用户的输入而变大,这就是为什么我不能只在 html 文档中编写输入语法,因为单元格不是从一开始就生成的。
function tableAdd() {
var table = document.getElementById("table");
var titel = document.getElementById("Titel").value;
var description = document.getElementById("Description").value;
var row = table.insertRow();
var projectCell=row.insertCell(0);
projectCell.innerHTML = titel;
// down here is the problem
var x =row.insertCell(1);
x.innerHTML = document.createElement("INPUT")
x.innerHTML.setAttribute("type", "text");
}
解决方案
您正在尝试将HTMLInputElement
调用返回的引用分配给(在我的示例中)引用document.createElement("input");
的不存在innerHTML
属性,由.HTMLTableRowElement
newRow
insertCell(1);
相反,您可以将任何文本值分配给(在我的示例value
中为变量) 的属性,并将动态输入附加到新创建的单元格。HTMLInputElement
input
function tableAdd() {
var table = document.getElementById("table");
var titel = document.getElementById("Titel").value;
var description = document.getElementById("Description").value;
var row = table.insertRow();
var projectCell=row.insertCell(0);
projectCell.innerHTML = titel;
var newRow =row.insertCell(1);
var input = document.createElement("input");
input.type = "text";
input.value= description
newRow.appendChild(input);
}
tableAdd();
<body>
<input type="text" id="Titel" value="test"/>
<input type="text" id="Description" value="test"/>
<table id="table">
</table>
<button onclick="tableAdd()">add</button>
</body>
这是参考文档:
https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableRowElement/insertCell https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement
推荐阅读
- wordpress - 如何在 Gatsby 中获取所有 Wordpress 帖子并显示标签
- python - 无法将保存的模型部署到 AWS Sagemaker
- c# - 如何使用计时器将淡入淡出过渡效果应用于 PictureBox 图像?
- c++ - 我的构造奇数幻方的代码不起作用
- javascript - 带有 socket.io 的 React-quill 编辑器创建无限循环
- r - 是否可以使用分类变量作为自变量来绘制逻辑回归?
- vue.js - 测试一个调用另一个 getter 的 getter,而不进行模拟 - 或者如何在测试中挂载 Vuex?
- c - GDB 在进入 C 函数时显示不正确的函数参数
- macos - TOR,在启动时挂起“以保护上下文“默认”开始\n'”
- google-cloud-spanner - Google Cloud Spanner 中的 Bin 日志(尾日志)