使用JavaScript在表格中动态添加及删除行,并进行表单校验

2 下载量 78 浏览量 更新于2024-11-01 收藏 2KB ZIP 举报
资源摘要信息:"js在tr后面追加tr,删除当前tr,提交校验tr的所有name值" 在Web开发中,使用JavaScript对HTML表格(table)元素进行动态操作是一种常见的需求。下面将详细介绍在表格中追加(append)、删除(delete)特定行(tr),以及在提交时校验行中所有元素的name属性值的相关知识点。 ### 动态添加和删除表格行(tr) 要使用JavaScript在表格中添加或删除行,通常会用到以下HTML DOM属性和方法: - `document.createElement(tagName)`:创建一个新的元素节点。 - `parentNode.appendChild(newChild)`:在指定父节点的子节点列表的末尾添加新的子节点。 - `parentNode.insertBefore(newChild, referenceChild)`:在指定父节点的子节点列表中,把新节点插入到referenceChild节点之前。 - `parentNode.removeChild(child)`:从DOM中删除一个子节点。 **示例代码:** ```javascript // 追加一行到指定的表格中 function appendRowToTable(tableId) { var table = document.getElementById(tableId); var newRow = table.insertRow(); // 在表格末尾添加新行 // 创建新单元格并添加到新行中 var cell1 = newRow.insertCell(0); var cell2 = newRow.insertCell(1); // 设置单元格内容 cell1.innerHTML = "新行单元格1"; cell2.innerHTML = "新行单元格2"; } // 删除当前行 function deleteCurrentRow(rowId) { var row = document.getElementById(rowId); row.parentNode.removeChild(row); // 从DOM中移除当前行 } ``` 在实际应用中,可以根据需要给新添加的`<tr>`元素动态绑定事件处理器,以便实现更多的交互逻辑。 ### 提交校验tr的所有name值 在提交表格数据之前,通常需要进行数据校验,确保所有必填字段都已正确填写。这可以通过JavaScript中的事件监听和数据校验逻辑来实现。 **表单提交前校验的步骤可能包括:** 1. 监听提交事件。 2. 遍历表格中的每一行,检查特定单元格(td)或输入元素(如input, select, textarea)的name属性值。 3. 根据业务需求进行相应的验证,如非空校验、数据格式校验等。 4. 校验通过后,允许表单提交;若不通过,则显示错误信息,并阻止表单提交。 **示例代码:** ```javascript // 提交前进行校验 function validateForm() { var tableRows = document.getElementsByTagName("tr"); var allValid = true; for (var i = 0; i < tableRows.length; i++) { var cells = tableRows[i].getElementsByTagName("td"); for (var j = 0; j < cells.length; j++) { var inputs = cells[j].getElementsByTagName("input"); if (inputs.length > 0) { // 假设表单控件在td内部 for (var k = 0; k < inputs.length; k++) { var inputName = inputs[k].name; if (inputName) { // 检查name属性是否设置 var inputValue = inputs[k].value; // 这里进行具体的校验逻辑,例如非空校验 if (!inputValue.trim()) { alert("请输入" + inputName + "的值"); allValid = false; break; } } } if (!allValid) break; } } if (!allValid) break; } return allValid; } // 绑定提交事件到表单 document.getElementById("myForm").onsubmit = function(event) { if (!validateForm()) { event.preventDefault(); // 阻止表单默认提交行为 } }; ``` ### 页面回显tr td的值 页面回显指的是将数据重新显示在页面上,这通常是在某些操作后需要更新页面上的表格数据,如添加、修改或删除行后的操作。 **页面回显步骤可能包括:** 1. 从服务器获取数据(如AJAX请求)。 2. 使用JavaScript遍历表格中的每一行,清空或更新单元格内容。 3. 将服务器返回的数据填充到对应的单元格中。 **示例代码:** ```javascript // 回显数据到表格中 function echoDataToTable(dataArray) { var table = document.getElementById("myTable"); for (var i = 0; i < dataArray.length; i++) { var newRow = table.insertRow(); var cell1 = newRow.insertCell(0); var cell2 = newRow.insertCell(1); // 假设dataArray[i]是包含name和value的对象 cell1.innerHTML = dataArray[i].name; cell2.innerHTML = dataArray[i].value; } } // 假设从服务器获取数据后执行回显 echoDataToTable(serverDataArray); ``` ### 总结 上述知识点展示了如何使用JavaScript在Web页面中动态地操作表格,包括在表格行后面添加新行、删除当前行以及在表单提交前对表格中的数据进行校验,并在特定操作后回显数据到页面上。熟练掌握这些操作对于提高Web应用的用户体验和数据交互处理是非常重要的。 需要注意的是,上述代码示例仅作为知识点演示,实际应用中可能需要结合具体的业务逻辑进行调整和优化。此外,在实际开发中,还应该考虑使用JavaScript库(如jQuery)来简化DOM操作,并且可能需要通过异步请求(如使用AJAX)与服务器进行数据交换,以实现更加动态和响应式的页面效果。
2023-05-28 上传
2023-05-28 上传