javascript - 使用 JavaScript 在表格中创建新行,innerHTML 设置输入变量,但用户输入的值在提交时不会发布
问题描述
我创建了一个如下所示的表:
<form role="form" method="post" action="" enctype="multipart/form-data">
<table class="table table-striped" id='billables'>
<input type='hidden' name='products' id='products' value='0'>
<thead>
<tr>
<th>Description</th>
<th>Quantity (#)</th>
<th>Rate ($)</th>
<th>Amount ($)</th>
</tr>
</thead>
<tbody >
//The ROW gets inserted properly here, and each row gets
assigned a "input variable" properly
</tbody>
</table>
</form>
我正在使用一个 javascript 函数,当单击一个按钮时,它将在带有输入字段的表中添加一个新行。
function addRow() {
var products = document.getElementById("products").value;
products = parseFloat(products)
products = products + 1;
document.getElementById("products").value = products;
var table = document.getElementById("billables");
var row = table.insertRow(products);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
var cell4 = row.insertCell(3);
cell1.innerHTML = '<input class="form-control" id="'+products+'desc" type="text" name="'+products+'desc" required placeholder="Item Desc..." >';
cell2.innerHTML = "<input class='form-control' id='"+products+"quant' type='number' name='"+products+"quant' required placeholder='Quantity...' >";
cell3.innerHTML = "<input class='form-control' id='"+products+"rate' type='number' name='"+products+"rate' required step='0.01' placeholder='Ex: 23.99' onkeyup='calc()'>";
cell4.innerHTML = "<input class='form-control' id='"+products+"amm' type='number' name='"+products+"amm' readonly >";
}
“name”和“id”字段根据表中存在的行数动态命名。
IE: 1desc 一排。1desc,2desc 两行等...
该表正确填充,创建新行,为每个单元格添加一个输入字段,并根据谷歌调试器/检查输入字段正确命名。
我的问题是,当提交表单时,使用 innerHTML 函数生成的那些元素的值无法正确发布。尽管表单中的所有其他变量都已正确发布。
有任何想法吗?
为澄清而编辑 - 发布帖子时丢失了 ' 。并且表单标签被放置在更早的代码中,添加它以显示它的外观。
编辑:
解决方案
首先没有form
标签。以下行有错误。
<input type='hidden' name='products id='products' value='0'>
改成——
<input type='hidden' name='products' id='products' value='0'>
由于以上
var products = document.getElementById("products").value;
这行代码没有设置它的值,你不能发布它。
推荐阅读
- python - 保存 Keras 模型和权重
- javascript - 在 html 画布上使用鼠标绘制线未在正确位置绘制线
- exception - xampp 控制面板 EAccessViolation
- python - 获取垂直 QHeaderView 的宽度
- junit - 使用 toString() 无效使用匹配器异常
- linux-kernel - sysfs 中的 USB 总线端口表示
- android - 回收站视图未在 kotlin 中显示 JSON 数据
- python - 在循环期间添加相同的对象之前无法检查列表中是否存在对象
- angular - 如何在 Angular 9 中进行路由?
- javascript - 如何在 Firebase Firestore 中链接 onSnapshot?