• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP > asp+jsp+JavaScript动态实现添加数据行

asp+jsp+JavaScript动态实现添加数据行

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了asp jsp,asp jsp php,asp和jsp的区别,html asp jsp,asp jsp php的区别等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

在应用程序的开发中,有些输入信息是动态的,比如我们要注册一个员工的工作经历,比如下图

如果做成死的,只能填写三个,如果是四个呢?或者更多呢,那不是添加不上去了吗,所以这样固然不好,我们可以用动态添加表格行实现,如下图,添加一行,输入一行信息,这样比较灵活

下面我们就来看看如何在asp和asp.net中结合javascript来实现这种效果:
首先,动态添加表格是要在前台实现的,当然后台也可以,不过可能要用到ajax,很麻烦,所以最好采用javascript来实现,下面来介绍动态添加表格行的两种方式:
第一种:源码
Javascript:

 <script type="text/javascript">
 /**//*This function is use to add one row dynamicly 
* tabObj : Target table 
* colNum: The number of columns that of a row in table 
* sorPos: The source of the new row. 
* targPos: The position where the new row will be added. 
* 
*/ 
function addRow(tabObj,colNum,sorPos,targPos){ 
var nTR = tabObj.insertRow(tabObj.rows.length-targPos); // Insert a new row into appointed table on the 
//appointed position. 
var TRs = tabObj.getElementsByTagName('TR'); // Get TRs collection from the appointed table 
var sorTR = TRs[sorPos]; // Positioned the sorTR 
var TDs = sorTR.getElementsByTagName('TD'); // Get TDs collection from the appointed row 
if(colNum==0 || colNum==undefined || colNum==isNaN){ 
colNum=tabObj.rows[0].cells.length; 
} 

var ntd = new Array(); // Create a new TDs array 
for(var i=0; i< colNum; i++){ // Traverl the TDs in row 
ntd[i] = nTR.insertCell(); // Create new cell 
ntd[i].id = TDs[0].id; // copy the TD's id to new cell. | Attention! The TDs's 
//suffix must be appointed 
ntd[i].innerHTML = TDs[i].innerHTML; // copy the value in ntd[i]'s innerHTML from corresponding TDs 
} 

} 
/**//* This function is use to remove appointed row in appointed table 
* tabObj: the appointed table 
* targPos: target row position 
* btnObj: currently clicked delete image button 
* 
*/ 
function deleteRow(tabObj,targPos,btnObj){ //Remove table row 
for(var i =0; i<tabObj.rows.length;i++){ 
if(tabObj.getElementsByTagName('img')[i]==btnObj){ 
tabObj.deleteRow(i+targPos); 
} 
} 
} 
</script>
</div>

Html

<table id=tabUserInfo border=1 width="720"> 
<tr> 
 <td>姓名</td>
 <td>性别</td>
 <td>年龄</td>
 <td>爱好</td>
<td>Delete</td> 
</tr> 
<tr style="display:none" id=trUserInfo> 
<td id=tdUserInfo><input id=username name=username ></td> 
<td id=tdUserInfo><input id=usersex name=usersex></td> 
<td id=tdUserInfo><input id=userage name=userage></td> 
<td id=tdUserInfo><input id=userlove name=userlove></td> 
<td id=tdUserInfo>
<img alt="Delete" onClick="deleteRow(document.all.tabUserInfo,1,this)">
</td> 
</tr> 
<tr> 
<td>

<input type=button value="Add" onClick="addRow(document.all.tabUserInfo,null,1,1)"></td> 
</tr> 
</table> 
</div>

在这里有点要注意:<tr  style="display:none" id=trUserInfo> 主要是为了,添加数据的时候,文本框中的值都是空的,要不然添加的 新行都是有值的,这样很不好,当然了,为了防止读取的是空值,在后面获得数据组的时候,我们从索引1开始获得值,这个在后面会讲到

第二种方式:
JavaScript

<script type="text/javascript">
 function addRow()
 {
  var root = document.getElementById("tbody")
  var allRows = root.getElementsByTagName('tr');
  var allCells = allRows[0].getElementsByTagName('td');
  var newRow = root.insertRow();
  var newCell0 = newRow.insertCell();
  var newCell1 = newRow.insertCell();
  var newCell2 = newRow.insertCell();
  var newCell3 = newRow.insertCell();
  newCell0.innerHTML = allCells[0].innerHTML;
  newCell1.innerHTML = allCells[1].innerHTML;
  newCell2.innerHTML = allCells[2].innerHTML;
  newCell3.innerHTML = allCells[3].innerHTML;

 }
 function removeRow(r)
 {
 var root = r.parentNode;
 root.deleteRow(r);
 }
 </script>
</div>

Html

 <table border="1">
  <tr>
  <td>aaaa</td>
  <td>bbbb</td>
  <td>cccc</td>
  <td>操作</td>
 </tr>
  <tr>
  <td><select></select></td>
  <td><input id="Text1" type="text" /></td>
  <td><input id="Text2" type="text"/></td>
  <td></td>
 </tr>
 <tbody id="tbody">
 <tr style="display:none">
  <td><select></select></td>
  <td><input id="a" type="text" /></td>
  <td><input id="b" type="text"/></td>
  <td><input type="button" value="remove" onclick="removeRow(this.parentNode.parentNode)"/></td>
 </tr>
 </tbody>
 </table>
 <table><tr><td><input type="button" value="add" onclick="addRow()" /></td></tr></table>
</div>

注意:和第一个基本类似,如果你希望默认的情况下就有一行,那么可以静态的添加一行

下面,就来看看如何通过后台完成对其操作,比如对新增行的修改,删除,添加等
首先说一下数据库的问题
对于这些需要动态添加的表格行的记录,我们需要重新放到放到一个表里,就是单独做一个表,比如上面说到的工作经历的 问题当然了,员工要有一个员工表,记录姓名,年龄,身份证,学历等信息,对于工作经历这块,就需要单独做一个工作经历表,然后根据外键,建立他们之间的关系,这是数据库方面的设计
下面就来看看如何在asp中实现这些
添加操作:
代码:

<!--#include file="inc/conn.asp" -->
<%
 if request("tj")="添 加" then 
 set rs=server.CreateObject("adodb.RecordSet")
 strsql="select * from tb_person"
 rs.open strsql,conn,2,3
 for i =1 to request("username").count 
 rs.addnew()
 rs("userName")=request("username")(i)
 rs("sex")=request("usersex")(i)
 rs("age")=request("userage")(i)
 rs("aihao")=request("userlove")(i)
 rs.update
 next
 end if
 
%>
<html>
<head>
<script src="myjs.js"></script> 
</head>
<body>
<form name=frmUserInfo action="user_list1.asp" method=post> 
<br> 
<table id=tabUserInfo border=1 width="720"> 
<tr> 
 <td>姓名</td>
 <td>性别</td>
 <td>年龄</td>
 <td>爱好</td>
<td>Delete</td>
</tr> 
<tr style="display:none" id=trUserInfo> 
<td id=tdUserInfo><input id=username name=username ></td> 
<td id=tdUserInfo><input id=usersex name=usersex></td> 
<td id=tdUserInfo><input id=userage name=userage></td> 
<td id=tdUserInfo><input id=userlove name=userlove></td> 
<td id=tdUserInfo>
<img alt="Delete" onClick="deleteRow(document.all.tabUserInfo,1,this)">
</td> 
</tr> 
<tr> 
<td>




 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • asp+jsp+JavaScript动态实现添加数据行

相关文章

  • 2017-05-11Session对象失效的客户端解决方法
  • 2017-05-11Discuz!NT 论坛整合ASP程序论坛
  • 2017-05-11aspjpeg组件使用方法
  • 2017-05-11asp万用分页程序代码
  • 2017-05-11ASP提示错误 '8002801d'的解决办法
  • 2017-05-11使用ASP记录在线用户的数量的代码
  • 2017-05-11高手推荐的比较有用的ASP函数集合
  • 2017-05-11一个防止被采集的方法
  • 2017-05-11asp下实现记录集内随机取记录的代码
  • 2017-05-11好久没发布新玩意,完成了tsys的少年不在版

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • asp中Byval与Byref的区别
    • 结合asp和存储过程做的搜索程序
    • asp中获取当前页面的地址与参数的函数代码
    • 网站生成静态页面攻略4:防采集而不防搜索引擎策略
    • ASP备份SQL Server数据库改进版
    • 如何写ASP入库小偷程序
    • asp服务器如何搭建
    • asp文本框换行显示代码
    • asp被杀毒软件误删的解决方法
    • PJ-Blog教程┊增强博客用户体验~让发表内容的同时拷贝到剪贴板以防丢失

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有