婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > asp+jsp+JavaScript動態實現添加數據行

asp+jsp+JavaScript動態實現添加數據行

熱門標簽:地圖標注中心多少錢注冊 電銷機器人一個多少錢 不封卡外呼系統一般多少錢 北京大興區地圖標注 濰坊呼叫中心外呼系統供應商 地圖標注不完整被罰款 微信地圖標注有什么用 重慶外呼電銷系統費用 鄭州語音電銷機器人官網

在應用程序的開發中,有些輸入信息是動態的,比如我們要注冊一個員工的工作經歷,比如下圖

如果做成死的,只能填寫三個,如果是四個呢?或者更多呢,那不是添加不上去了嗎,所以這樣固然不好,我們可以用動態添加表格行實現,如下圖,添加一行,輸入一行信息,這樣比較靈活

下面我們就來看看如何在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; itabObj.rows.length;i++){ 
if(tabObj.getElementsByTagName('img')[i]==btnObj){ 
tabObj.deleteRow(i+targPos); 
} 
} 
} 
/script>

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> 

在這里有點要注意: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>

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>

注意:和第一個基本類似,如果你希望默認的情況下就有一行,那么可以靜態的添加一行

下面,就來看看如何通過后臺完成對其操作,比如對新增行的修改,刪除,添加等
首先說一下數據庫的問題
對于這些需要動態添加的表格行的記錄,我們需要重新放到放到一個表里,就是單獨做一個表,比如上面說到的工作經歷的 問題當然了,員工要有一個員工表,記錄姓名,年齡,身份證,學歷等信息,對于工作經歷這塊,就需要單獨做一個工作經歷表,然后根據外鍵,建立他們之間的關系,這是數據庫方面的設計
下面就來看看如何在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>

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

table> 
tr>td>input type="submit" value="添 加" name="tj" />/td>/tr> 
/table> 
/form> 
/body>

注意:在這里我們可以直接通過request("username")獲得username列的數組值,通過調試可以看到,第一個(索引為0)值為",",所以獲得值的時候我們要從索引為1開始讀取,然后逐一添加操作即可

修改:
首先根據外鍵循環讀取數據到一個表格里,代碼:

form name=frmUserInfo action="user_list1.asp" method=post> 
br> 
table border=1 width="720"> 
tr> 
 td>姓名/td>
 td>性別/td>
 td>年齡/td>
 td>愛好/td>
td>Delete/td> 
/tr> 
% 
 set rs=server.CreateObject("adodb.RecordSet")
 strsql="select * from tb_person"
 rs.open strsql,conn,2,3
 do while not rs.eof 
%>
tr id=trUserInfo1> 
td id=tdUserInfo1>input id=username1 name=username1 value="%=rs("userName")%>" >/td> 
td id=tdUserInfo1>input id=usersex1 name=usersex1 value="%=rs("age")%>">/td> 
td id=tdUserInfo1>input id=userage1 name=userage value="%=rs("sex")%>">/td> 
td id=tdUserInfo1>input id=userlove1 name=userlove value="%=rs("aihao")%>">/td> 
td id=tdUserInfo>
input type="submit" value="刪除" />
!--img alt="Delete" onClick="deleteRow(document.all.tabUserInfo,1,this)"> -->/td> 
/tr> 
%
 rs.movenext
 loop
%>
table id=tabUserInfo border=1 width="720"> 
tr> 
 td>/td>
 td>/td>
 td>/td>
 td>/td>
td>/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> 

我的思路是把以前添加的記錄和現在要添加的記錄行分開操作,如果我們要刪除記錄行,或者修改記錄行可以這樣操作
首先刪除所以記錄,然后重新添加以前的記錄和現在的記錄,至于代碼和添加的思路是一樣的,只不過這里面分兩個添加來完成的具體的代碼,大家可以自己嘗試一下

下面在看看在asp.net中如何實現
如果使用asp.net自帶的控件封裝模式,很難實現,所以這里我們可以采用上面講到的asp的思想來完成
js和html都一樣,不一樣的是后臺的代碼:
比如說添加吧

 protected void Button1_Click(object sender, EventArgs e)
 {
  
  string username = Request["username"].ToString();
  string[] namelist = username.Split(',');
  string[] sexlist = username.Split(',');
  string[] agelist = username.Split(',');
  string[] lovelist = username.Split(',');
  for (int i = 1; i  namelist.Length; i++)
  {
   //獲得傳遞過來的值,對其操作
   string name = namelist[i].ToString();
   string usersex = sexlist[i].ToString();
   string userage = agelist[i].ToString();
   string userlove = agelist[i].ToString();
   //對其操作,比如添加修改等
  }
  
 }

在這里我們使用Request["username"]來獲得值,頁面用的是html標簽,不是服務器端的控件,不用使用.value或者Text來實現, 這樣就可以用asp或者jsp的思想來處理了。
同樣,修改和刪除的也可以使用asp或者jsp的思想來處理。
或者從提交到處理完全采用jsp和asp的思想,創建一個HttpHandler,把數據都提交到這里面處理,這樣也可以,不過第一種方法好些,這樣容易獲得值并處理,不需要轉換什么的。

具體的問題具體對待,比如需要默認就有一行,這個時候就需要在員工表里添加工作記錄的字段,這一行的記錄都添加到員工表里,然后編輯刪除的時候需要先編輯,然后進行兩個添加等。
大體實現添加數據行的思路就是這樣,有什么問題,希望大家給予指正....

您可能感興趣的文章:
  • JSP實現添加功能和分頁顯示實例分析
  • jsp中兩個框中內容互換可以添加也可以移除
  • jsp連接MySQL操作GIS地圖數據實現添加point的功能代碼
  • JSP+Ajax 添加、刪除多選框
  • JSP使用JDBC完成動態驗證及采用MVC完成數據查詢的方法
  • jsp操作MySQL實現查詢/插入/刪除功能示例
  • 高效的jsp分頁查詢
  • JSP簡單添加,查詢功能代碼

標簽:汕頭 撫州 佛山 唐山 揭陽 海南 攀枝花 鶴崗

巨人網絡通訊聲明:本文標題《asp+jsp+JavaScript動態實現添加數據行》,本文關鍵詞  asp+jsp+JavaScript,動態,實現,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《asp+jsp+JavaScript動態實現添加數據行》相關的同類信息!
  • 本頁收集關于asp+jsp+JavaScript動態實現添加數據行的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲自拍偷拍图区| 亚洲精品中文在线观看| 国产精品99久久久| 免费成人在线观看| 亚洲午夜在线视频| 亚洲麻豆国产自偷在线| 在线观看成人小视频| 国产不卡视频一区二区三区| 日本一道高清亚洲日美韩| 亚洲国产精品久久久男人的天堂| 国产精品女同一区二区三区| 国产欧美一区二区在线观看| 精品处破学生在线二十三| 日韩三级中文字幕| 精品国产一区久久| 精品国产电影一区二区| 亚洲精品一区二区三区四区高清| 精品欧美黑人一区二区三区| 不卡一区二区三区四区| 亚洲综合久久av| 亚洲自拍偷拍欧美| 亚洲一区在线看| 欧美肥大bbwbbw高潮| 欧美日韩免费在线视频| 制服.丝袜.亚洲.另类.中文| 5566中文字幕一区二区电影| 91麻豆精品国产无毒不卡在线观看 | 成人免费视频一区| 国产成人午夜精品影院观看视频| 国产成人在线色| 91在线精品秘密一区二区| 欧美亚洲自拍偷拍| 日韩一区二区三区视频| 久久婷婷综合激情| 自拍偷在线精品自拍偷无码专区| 亚洲一卡二卡三卡四卡无卡久久| 亚洲成人综合在线| 精品亚洲成a人在线观看| 日韩美女精品在线| 色老综合老女人久久久| 7777精品伊人久久久大香线蕉的 | 成人动漫中文字幕| 欧美无乱码久久久免费午夜一区 | 精品国精品国产尤物美女| 国产肉丝袜一区二区| 亚洲精品亚洲人成人网在线播放| 91在线观看高清| 亚洲美女精品一区| 99re热视频精品| 欧美亚洲高清一区二区三区不卡| 国产精品免费人成网站| 99国产欧美另类久久久精品| av高清不卡在线| 在线播放中文一区| 国产网红主播福利一区二区| 亚洲精品五月天| 久久国产人妖系列| 一本到不卡精品视频在线观看| 制服丝袜日韩国产| 欧美高清一级片在线| 欧美性猛交xxxx黑人交| 国产日产欧美一区| 奇米综合一区二区三区精品视频| 99在线热播精品免费| 欧美videos大乳护士334| 一区二区三区在线免费| 国产精品一区二区不卡| 成人网页在线观看| 欧美视频一区二区三区四区| 亚洲自拍偷拍av| 视频一区在线视频| 一本大道久久a久久精品综合| 欧美tickling挠脚心丨vk| 一区二区在线观看免费| 国产一区二区精品久久91| 欧美亚洲尤物久久| 99久久精品国产网站| 久久综合五月天婷婷伊人| 亚洲精品国产一区二区精华液 | 91精品免费在线观看| 亚洲图片你懂的| 国产成人精品午夜视频免费| 日韩欧美一区二区三区在线| 五月激情丁香一区二区三区| 国产精品日韩成人| 国产精品视频第一区| 国产欧美一区二区精品性色 | 欧美性xxxxxx少妇| 激情综合色综合久久| 在线播放亚洲一区| 午夜精品一区在线观看| 在线视频你懂得一区二区三区| 欧美激情一区二区三区| 高清不卡在线观看| 久久人人97超碰com| 国产在线精品免费| 国产欧美日韩在线视频| 国产精品亚洲成人| 国产亚洲人成网站| 高清视频一区二区| 亚洲国产经典视频| 91在线看国产| 久久综合狠狠综合久久激情| 欧美性生活大片视频| 一区二区三区免费网站| 在线精品观看国产| 婷婷综合五月天| 久久精品国产亚洲一区二区三区| 日韩精品一区二| 国产一二三精品| 亚洲人成在线播放网站岛国| 欧美性色黄大片| 男男视频亚洲欧美| 国产色综合久久| 91九色02白丝porn| 看片网站欧美日韩| 中文字幕+乱码+中文字幕一区| 91视频一区二区三区| 首页国产丝袜综合| 国产欧美精品一区二区色综合 | 色久优优欧美色久优优| 日本不卡一二三| 中文字幕不卡在线观看| 久久亚洲一区二区三区四区| 日本一区二区三区四区在线视频| 97久久精品人人爽人人爽蜜臀| 国产成人精品午夜视频免费| 91精彩视频在线观看| 香蕉久久一区二区不卡无毒影院 | 欧美一区二区三区免费视频| 国产成人在线观看| 亚洲成av人影院| 国产欧美一区二区精品忘忧草| 在线精品视频一区二区三四| 麻豆91精品视频| 亚洲欧美aⅴ...| 久久蜜桃香蕉精品一区二区三区| 91精彩视频在线| 国产91露脸合集magnet| 日本系列欧美系列| 亚洲黄色尤物视频| 中文字幕欧美国产| 国产精品1024| 日韩在线播放一区二区| 国产精品久久久久久久久久免费看| 在线综合+亚洲+欧美中文字幕| 成人aaaa免费全部观看| 精品伊人久久久久7777人| 亚洲v精品v日韩v欧美v专区| ●精品国产综合乱码久久久久| 久久亚洲欧美国产精品乐播| 欧美一级生活片| 一区二区三区中文字幕在线观看| 午夜精品一区二区三区免费视频 | 国产精品色眯眯| 欧美日韩高清不卡| gogogo免费视频观看亚洲一| 国产又粗又猛又爽又黄91精品| 亚洲国产综合在线| 国产精品久久777777| 亚洲精品一区二区三区精华液| 91麻豆精品国产自产在线 | 亚洲激情网站免费观看| 久久久av毛片精品| 成人精品国产免费网站| 久久机这里只有精品| 免费久久99精品国产| 亚洲成av人片www| 亚洲一区在线观看免费观看电影高清 | 精品99久久久久久| 7777精品伊人久久久大香线蕉| 在线观看国产日韩| 欧美午夜精品免费| 欧美日韩国产系列| 欧美精品免费视频| 日韩欧美在线网站| 91精彩视频在线观看| 色视频一区二区| 欧洲一区在线观看| 精品污污网站免费看| 91麻豆精品国产自产在线观看一区| 4438成人网| 亚洲一级二级在线| 亚洲婷婷综合色高清在线| 精品国产欧美一区二区| 91一区在线观看| av男人天堂一区| 亚洲女人的天堂| 欧美专区在线观看一区| 欧亚一区二区三区| 日韩理论片中文av| 91视频com| 日韩欧美一级片| 亚洲男同性视频| 99久久伊人精品| 中文字幕在线不卡视频| 99久久精品99国产精品| 中文字幕在线观看一区二区| 亚洲一区在线观看视频| 欧美色电影在线|