核心代碼:
<title>asp批量添加修改刪除操作示例</title><%if request.Form(op)=update then'表單提交ids=request.Form(ids) if ids<> then response.Write 要刪除的數據id集合:&ids&<br> '=========數據庫刪除操作conn.execute(delete from xxx where id in(&ids&))'自己注意做安全驗證,假定id為數字集合,自己正則RegExp判斷有效性,pattern為^/d+(,/d+)*$ end if rows=request.Form(name).count'提交的數據行數據,包括添加/修改的for i=1 to rows'遍歷每行數據id=request.Form(id).item(i)& name=request.Form(name).item(i) sex=request.Form(sex).item(i) age=request. Form(age).item(i) addr=request.Form(addr).item(i) if id<> then'修改操作,如果id為數字加isnumeric判斷response.Write 要修改數據行:&id&|&name&| &sex&|&age&|&addr&<br> '修改操作else'添加操作response.Write 要添加數據行:&name&|&sex&|&age&|&addr&<br> '添加操作end if nextend if %><form method=post onsubmit=return check(this)><input type=hidden name=ids /><!--用於存儲要刪除記錄的id集合--><input type=hidden name=op value=update /> <table border=1 id=tb ><tr><th>姓名</th><th>性別</th><th>年齡</th><th>地址</th><th>刪除</ th></tr><!-------要修改的數據,自己讀取數據庫生成,<input type=hidden name=id value=/>存儲id-------->< tr><td><input type=text value=姓名1 name=name /></td><td><input type=text value=性別1 name=sex /></td><td><input type=text value=年齡1 name=age /></td><td><input type=text value=地址1 name =addr /></td><td><input type=button value=刪除onclick=removeRow(this) /><input type=hidden name=id value=1/></td></tr><tr ><td><input type=text value=姓名2 name=name /></td><td><input type=text value=性別2 name=sex /></td><td><input type=text value=年齡2 name=age /></td><td><input type=text value=地址2 name=addr /></td><td ><input type=button value=刪除onclick=removeRow(this) /><input type=hidden name=id value=2/></td></tr><!-------要修改的數據示例結束--------><tr><td colspan=5 align=center><input type=submit value=提交/> <input type=button value=添加新數據行onclick=addRow() /></td></tr></table></form><script type=text/javascript> function removeRow(btn){ if (confirm('確認刪除? ! ')) { var tr=btn.parentNode.parentNode; var id = btn.nextSibling;//注意刪除按鈕和id這個hidden控件之間不要有空格,要不nextSibling在標準瀏覽器下是空白節點if (id .value != '') {//刪除是存在的行而不是新增的,則id存儲到ids中btn.form.ids.value += (btn.form.ids.value == '' ? ' ' : ',') + id.value; } tr.parentNode.removeChild(tr); } } function addRow() { var tb = document.getElementById('tb'), tr = tb.insertRow(tb.rows.length - 1),td=tr.insertCell(0); td.innerHTML = '<input type=text name=name />'; td = tr.insertCell(1); td.innerHTML = '<input type=text name=sex />'; td = tr.insertCell(2); td.innerHTML = '<input type=text name=age /> '; td = tr.insertCell(3); td.innerHTML = '<input type=text name=addr />'; td = tr.insertCell(4); td.innerHTML = '<input type=button value=刪除onclick=removeRow(this) /><input type=hidden name=id /> ';//新增數據行id為空} function check(f) { var tb = document.getElementById('tb'), ipts; for (var i = 1, j = tb.rows.length - 1; i < j; i++) {//輸入驗證,去掉第一行表頭和最後一行操作ipts = tb.rows[i].getElementsByTagName('input'); if (ipts[0].value == '') { alert('請輸入姓名! '); ipts[0].focus(); return false; } if (ipts[1].value == '') { alert('請輸入性別!'); ipts[1].focus(); return false; } if (ipts[2].value == '') { alert('請輸入年齡!'); ipts[2].focus(); return false; } if (ipts[3].value == '') { alert('請輸入地址!'); ipts[3].focus(); return false; } } }</script>