asp复选框删除问题,高手帮忙,谢谢!!

index.asp页面如下:<%@LANGUAGE="VBSCRIPT"CODEPAGE="936"%><!--#includefile="conn.asp"--><!D... index.asp页面如下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!-- #include file="conn.asp" -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>asp复选框批量删除+确定删除</title>
<SCRIPT language=JavaScript type=text/JavaScript>
function CheckAll(form) {
for (var i=0;i<form.elements.length;i++) {
var e = form.elements[i];
if (e.name != 'chkall') e.checked = form.chkall.checked;
}
}

</SCRIPT>

</head>

<body>
<form name="del" action="delete.asp" method="post">
<table width="500" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#3399CC">
<tr>
<td width="294" height="25" align="center">标题</td>
<td width="23" height="25" align="center"> </td>
<td width="75" align="center">   删除</td>
</tr>
<%
set rs=server.createobject("adodb.recordset")
sql="select * from stu_info_book"
rs.open sql,conn,1,3
do while not rs.eof
%>
<tr>
<td height="25">  <%=rs("name")%></td>
<td height="25" align="center"><label>
<input type="checkbox" name="news_id" value="<%=rs("user")%>">

</label></td>
<td align="center">删除</td>
</tr>
<%
rs.movenext
loop
%>
<tr>
<td height="25" align="center"> </td>
<td height="25" align="center"><label>
<input name="chkall" type="checkbox" id="chkall" value="select" onclick=CheckAll(this.form)>

</label></td>
<td align="center">选中全部</td>
</tr>
<tr>
<td height="25" colspan="3" align="center"><label>
<input type="submit" name="Submit" value="删除所选" onclick="{if(confirm('确定要删除记录吗?')){return true;}return false;}"
/>
    
<input type="reset" name="Submit2" value="重置" />
</label></td>
</tr>

</table>
</form>
</body>
</html>

delete.asp页面代码如下:

<!--#include file="conn.asp" -->
<%
dim idArr
id = request.Form("user")
idArr = split(id,",")
for i=0 to ubound(idArr)
sql = "delete from stu_info_book where user" & trim(idArr(i))
conn.execute(sql)
next
response.Redirect("Untitled-1.asp")
%>

conn.asp代码如下:
<%
set conn=server.createobject("adodb.connection")
set rs=server.createobject("adodb.recordset")
linkstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("../#hrdg_data/#hrdg_data.mdb") & ";Persist Security Info=False"
conn.open linkstring
%>

代码已经如上了,我运行但是没结果,删除不成功,请高手帮我看看,谢谢!!
展开
 我来答
cx1982420
2011-05-09 · TA获得超过1358个赞
知道小有建树答主
回答量:741
采纳率:100%
帮助的人:334万
展开全部
既然是删除的话,为什么要把取得的值再split呢,直接用 in 不就可以了吗?还有你取得checkbox的方法错误了
delete.asp页面代码如下:
<!--#include file="conn.asp" -->
<%
news_id = request.Form("news_id") '这里可以直接取得上个页面的FORM中checkbox的值,以1,2,3这样的形式
if isnull(news_id) or news_id="" then
response.write "参数为空或者不是有效参数"
response.end
else
'执行删除
sql = "delete from stu_info_book where user in ("&news_id&")"
conn.execute(sql)
end if
response.Redirect("Untitled-1.asp")
%>
quweng09
2011-05-08 · TA获得超过290个赞
知道答主
回答量:621
采纳率:0%
帮助的人:281万
展开全部
当选择的复选框多于一个时,ID(也就是邮件的地址)会出现后面有一个小豆你这段代码有个问题,注意第4行idArr=split(idlist),这是不对的,split
追问
哥们,不需要去复制人家的答案吧。这个不对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jiangxibaiyi
2011-05-08 · 跟随风去旅行-伤心的歌
jiangxibaiyi
采纳数:3973 获赞数:14412

向TA提问 私信TA
展开全部
表单页面你只有个复选框name=news_id,提交表单后,你用id = request.Form("user")
,这个user在哪里?
再者,就算有这个表单项,也没有看到你赋值啊,
原因:没有获取到相应参数;
建议:在表单内加一个隐藏域,点击全选之后,js改变复选框状态为选中的同时,获取各个复选框的值,组合起来并用,号分隔,赋值给那个隐藏域;处理页面获取该隐藏域的值并根据,号进行分割后用删除语句循环删除!
追问
你说的对。但是要是有很多记录呢,那每个记录都是跟复选框赋值么?有没有更好的方法,谢谢咯
追答
这个方法并不会繁琐啊,你的记录是分页显示的吗?如果是,一般每页也只有几十条啊!
再说,就算再多的记录,js是客户端语言,获取值再赋值那是很快的,眨眼的功夫,只是数据太多了(比如一次性几万条),到删除页面的时候,循环删除会很慢!但是一般不会一次性删除几万条吧?
如果你想一次性删除干净整个数据表,那就再简单不过了,不要这些乱七八糟的,直接一个删除语句就行:Delete From [数据表],如果你只是想有选择性的删除记录,那个人觉得我这方法就可行,这种方法,织梦程序都是这样做的,不行你去下载织梦研究一下!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tangranchuxx
2011-05-09 · TA获得超过281个赞
知道小有建树答主
回答量:319
采纳率:0%
帮助的人:234万
展开全部
你的代码,我看了下,无非是删除,一下是我做的,跟你的程序没有关系,但是你可以参照一下。,请仔细参照一下,在结合你的程序,就应该可以解决了。还有哦。你要看好你的数据库里的字段,和sql语句的写法,不要把错误出现在这些地方,要不然你 很难找到错误在哪里。

asp代码:----------------------------------------------------------------
<script type="text/javascript">
function check_all(obj,cName)
{
var checkboxs = document.getElementsByName(cName);
for(var i=0;i<checkboxs.length;i++){checkboxs[i].checked = obj.checked;}
}
</script>
<%
If request.Form("submit") = "删除选中" Then
If Request("id") = "" Then
response.Write "<script language=javascript>alert('"&请选中要删除的新闻&"');window.history.back();</script>"
response.End
End If
sql = "delete from 表 where id in ("&Request("id")&")"
conn.Execute ( sql )
response.Write "<script language=javascript>alert('"&成功删除选中的新闻&"');window.location.href='"&url&"'</script>"
response.End
conn.Close
Set conn = Nothing
End If
%>
<form method="post">
<input type="submit" name="submit" class="submit_button" value="删除选中" onclick="return confirm('确定要删除选中的新闻吗?删除后将不可恢复!')" />
</form>

请讲以上代码加到你程序适当的位置。然后测试一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
性格行为学教练谷玖泽
2011-05-14 · TA获得超过141个赞
知道答主
回答量:60
采纳率:0%
帮助的人:37.9万
展开全部
id = request.Form("user") '好像不对吧?
id = request.Form("user_id")'应该是这个吧?看下面的就知道是 news_id
<input type="checkbox" name="news_id" value="<%=rs("user")%>">
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式