核心代码:

<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
 next
end 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>

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部