如果上面的表单通过删除和添加功能新增或减少了某一行,如何在此基础上继续实现全部删除按钮的功能
时间: 2024-03-20 11:39:13 浏览: 56
jQuery实现的可直接添加删除表单元素特效源码.zip
如果您的表单可以通过添加或删除行来动态更改,请按照以下方式更新`deleteRows()`函数以确保它可以正确删除所有行:
```html
<form>
<table id="myTable">
<tr>
<th>Name</th>
<th>Email</th>
<th>Phone</th>
</tr>
<tr>
<td><input type="text" name="name"></td>
<td><input type="email" name="email"></td>
<td><input type="tel" name="phone"></td>
</tr>
<tr>
<td><input type="text" name="name"></td>
<td><input type="email" name="email"></td>
<td><input type="tel" name="phone"></td>
</tr>
</table>
<br>
<button type="button" onclick="deleteRows()">全部删除</button>
</form>
<script>
function deleteRows() {
var table = document.getElementById("myTable");
var rowCount = table.rows.length;
//从底部开始删除行
for (var i = rowCount - 1; i > 0; i--) {
table.deleteRow(i);
}
//重新计算行数
var newRow = table.insertRow(1);
var colCount = table.rows[0].cells.length;
for (var j = 0; j < colCount; j++) {
var newCell = newRow.insertCell(j);
newCell.innerHTML = '<input type="text">';
}
}
</script>
```
在此更新后的`deleteRows()`函数中,我们首先使用`table.deleteRow(i)`方法删除所有行。然后,我们重新计算表格中的行数,并在第二行插入一个新行,以便用户可以继续添加新行。请注意,我们使用`table.insertRow(1)`在第二个位置插入新行,因为第一行是表头。然后,我们使用`newRow.insertCell(j)`方法在新行中插入与原始表格中相同数量的单元格,并使用`newCell.innerHTML`将它们填充为空文本输入框。这样,用户就可以继续添加新行了。
阅读全文