<title>asp批量添加修改删除操作示例</title>
<%
ifrequest.Form("op")="update"then'表单提交
ids=request.Form("ids")
ifids<>""then
response.Write"要删除的数据id集合:"&ids&"<br>"
'=========数据库删除操作conn.execute("deletefromxxxwhereidin("&ids&")")'自己注意做安全验证,假定id为数字集合,自己正则RegExp判断有效性,pattern为^\d+(,\d+)*$
endif
rows=request.Form("name").count'提交的数据行数据,包括添加/修改的
fori=1torows'遍历每行数据
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)
ifid<>""then'修改操作,如果id为数字加isnumeric判断
response.Write"要修改数据行:"&id&"|"&name&"|"&sex&"|"&age&"|"&addr&"<br>"
'修改操作
else'添加操作
response.Write"要添加数据行:"&name&"|"&sex&"|"&age&"|"&addr&"<br>"
'添加操作
endif
next
endif
%>
<formmethod="post"onsubmit="returncheck(this)">
<inputtype="hidden"name="ids"/><!--用于存储要删除记录的id集合-->
<inputtype="hidden"name="op"value="update"/>
<tableborder="1"id="tb">
<tr><th>姓名</th><th>性别</th><th>年龄</th><th>地址</th><th>删除</th></tr>
<!-------要修改的数据,自己读取数据库生成,<inputtype="hidden"name="id"value=""/>存储id-------->
<tr>
<td><inputtype="text"value="姓名1"name="name"/></td>
<td><inputtype="text"value="性别1"name="sex"/></td>
<td><inputtype="text"value="年龄1"name="age"/></td>
<td><inputtype="text"value="地址1"name="addr"/></td>
<td><inputtype="button"value="删除"onclick="removeRow(this)"/><inputtype="hidden"name="id"value="1"/></td>
</tr>
<tr>
<td><inputtype="text"value="姓名2"name="name"/></td>
<td><inputtype="text"value="性别2"name="sex"/></td>
<td><inputtype="text"value="年龄2"name="age"/></td>
<td><inputtype="text"value="地址2"name="addr"/></td>
<td><inputtype="button"value="删除"onclick="removeRow(this)"/><inputtype="hidden"name="id"value="2"/></td>
</tr>
<!-------要修改的数据示例结束-------->
<tr><tdcolspan="5"align="center"><inputtype="submit"value="提交"/><inputtype="button"value="添加新数据行"onclick="addRow()"/></td></tr>
</table>
</form>
<scripttype="text/javascript">
functionremoveRow(btn){
if(confirm('确认删除?!')){
vartr=btn.parentNode.parentNode;
varid=btn.nextSibling;//注意删除按钮和id这个hidden控件之间不要有空格,要不nextSibling在标准浏览器下是空白节点
if(id.value!=''){//删除是存在的行而不是新增的,则id存储到ids中
btn.form.ids.value+=(btn.form.ids.value==''?'':',')+id.value;
}
tr.parentNode.removeChild(tr);
}
}
functionaddRow(){
vartb=document.getElementById('tb'),tr=tb.insertRow(tb.rows.length-1),td=tr.insertCell(0);
td.innerHTML='<inputtype="text"name="name"/>';
td=tr.insertCell(1);td.innerHTML='<inputtype="text"name="sex"/>';
td=tr.insertCell(2);td.innerHTML='<inputtype="text"name="age"/>';
td=tr.insertCell(3);td.innerHTML='<inputtype="text"name="addr"/>';
td=tr.insertCell(4);td.innerHTML='<inputtype="button"value="删除"onclick="removeRow(this)"/><inputtype="hidden"name="id"/>';//新增数据行id为空
}
functioncheck(f){
vartb=document.getElementById('tb'),ipts;
for(vari=1,j=tb.rows.length-1;i<j;i++){//输入验证,去掉第一行表头和最后一行操作
ipts=tb.rows[i].getElementsByTagName('input');
if(ipts[0].value==''){alert('请输入姓名!');ipts[0].focus();returnfalse;}
if(ipts[1].value==''){alert('请输入性别!');ipts[1].focus();returnfalse;}
if(ipts[2].value==''){alert('请输入年龄!');ipts[2].focus();returnfalse;}
if(ipts[3].value==''){alert('请输入地址!');ipts[3].focus();returnfalse;}
}
}
</script>
|