JavaScript动态创建与删除表格行实例
在本文中,我们将深入探讨JavaScript如何动态地向HTML表格(table)中添加行。首先,我们理解到这是一篇关于JavaScript表单操作的文章,特别是针对表格元素的增删操作。函数`add()`是关键部分,它主要负责执行动态插入新行的功能。 该函数通过`getElementById`方法获取ID为"require"的table元素,然后调用`insertRow()`方法在该表格的末尾插入新的行。同时,为了实现双击删除行的功能,作者设置了一个ondblclick事件监听器,当用户双击特定行时,会调用`deleteRow()`方法移除当前行。 接下来,作者定义了一系列`insertCell()`操作来创建表格中的单元格(cells),每个单元格对应着不同的输入字段。这些字段包括: 1. `projectName_`加上一个动态编号的文本区域,用于输入项目名称,支持多行输入,有数据验证功能(msg='ĿΪ',可能是对输入内容的校验提示)以及一个`selectProject()`函数,可能是用来选择或获取项目的回调。 2. 一个隐藏的`projectId_`输入框,用于存储与项目相关的唯一标识。 3. 另外两个隐藏的输入框,分别用于记录`trainTime_`(培训时间)、`startTime_`(开始时间)和`overTime_`(结束时间),都支持单日日期输入,并通过`setday()`函数处理日期的输入。 通过这段代码,我们可以看到JavaScript在前端网页开发中如何灵活地操作DOM(Document Object Model),尤其是在表格这种常见的数据展示和编辑组件上。开发者能够根据用户交互实时动态地增加或删除表格行,提高用户体验,同时也便于数据管理。此外,该示例还展示了如何结合HTML5的表单元素和JavaScript事件处理机制,构建出一个完整的表单操作流程。
alert(num);
tr=document.getElementById("require").insertRow();
tr.ondblclick=function(){
document.getElementById("require").deleteRow(this.rowIndex);
};
tr.title = "双击删除";
var cell1 = tr.insertCell();
var cell2 = tr.insertCell();
var cell3 = tr.insertCell();
var cell4 = tr.insertCell();
var cell5 = tr.insertCell();
var cell6 = tr.insertCell();
var cell7 = tr.insertCell();
var cell8 = tr.insertCell();
cell1.innerHTML="<textarea style='width:98%' rows='3' name='projectName_"+num+"' dataType='Require' msg='审计项目不能为空' onclick=\"selectProject('"+num+"')\"></textarea>"
+"<input type='hidden' id='projectId_"+num+"' name='projectId_"+num+"'/>"
+"<input type='hidden' name='detailNum' value='"+num+"'/>";
cell2.innerHTML="<input onclick='javascript:setday();' type='text' size='10' name='trainTime_"+num+"' />" ;
cell3.innerHTML="<input onclick='javascript:setday();' type='text' size='10' name='startTime_"+num+"' />" ;
cell4.innerHTML="<input onclick='javascript:setday();' type='text' size='10' name='overTime_"+num+"' />" ;
var option = "<s:property value='selectString'/>";
var select = "<select name='expertType_"+num+"' id='expertType_"+num+"'>"+option.replace(/</g, "<").replace(/>/g, ">")+"</select>"
//alert(select)
cell5.innerHTML=select ;
cell6.innerHTML="<input type='text' size='5' name='expertNum_"+num+"' dataType='Require' msg='人员数量不能为空'/>";
cell7.innerHTML="<textarea style='width:98%' rows='3' id='planPersonView_"+num+"' onclick=\"selectExpert('"+num+"')\"></textarea>"
+"<input type='hidden' id='planPerson_"+num+"' name='planPerson_"+num+"'/>"
+"<input type='hidden' id='num_"+num+"' name='planNum_"+num+"'/>" ;
cell8.innerHTML="<textarea style='width:98%' rows='3' name='remark_"+num+"'></textarea>" ;
下载后可阅读完整内容,剩余1页未读,立即下载
- 粉丝: 1
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦