主题:  关于多选框,接收问题。

嘎嘎

职务:普通成员
等级:1
金币:1.0
发贴:287
#12003/3/28 9:17:00
象邮件那样,在一页有多个相关条目,每个后面有个多选框。点击多个后,可以删除多个。
多选框是由循环出现的,其value="<%=rs("id")%>" (数据库中的编号)
所以删除的那页是以 ID 来删除的。但是接收时怎么实现删除呢?

编辑历史:[这消息被ad747编辑过(编辑时间2003-03-28 09:23:08)]
[这消息被ad747编辑过(编辑时间2003-03-28 09:24:02)]


嘎嘎

职务:普通成员
等级:1
金币:1.0
发贴:287
#22003/3/28 9:31:54
在打开数据库后,其中rs("id") 只能等于一个接收的值。
换句话说,request.form("cheakbox") 将接收很多值。怎么和rs("id") 匹配呢?



ryonick

职务:普通成员
等级:2
金币:1.0
发贴:317
#32003/3/28 10:13:17
可以用if len(request.form("item"&rs("id")))>0 then
sqlstr="delete * from database where id="&rs("id")

其中"item"&rs("id")是上个页面传送过来checkbox表单的值



嘎嘎

职务:普通成员
等级:1
金币:1.0
发贴:287
#42003/3/28 10:23:29
这样会抱错的吧,我试过类似的。
接收的值可能不只是一个,让它去=rs("id"),肯定是要抱错的啊。
rs("id")不能同时等多值的。



ryonick

职务:普通成员
等级:2
金币:1.0
发贴:317
#52003/3/28 10:30:17


<%

set rs=server.createobject("adodb.recordset")
        conn.open connstr
sql="select * from database order by id desc"
rs.open sql,conn,1,2
while not rs.eof
if len(request.form("item"&rs("id")))>0 then
sqlstr="delete * from database where id="&rs("id")
conn.execute sqlstr
end if
rs.movenext
wend
response.write("删除成功")
%>



嘎嘎

职务:普通成员
等级:1
金币:1.0
发贴:287
#62003/3/28 12:16:22
谢谢,但是等等,
f len(request.form("item"&rs("id")))>0 then
request.form("")接收的应该不是多选框的 name 值么?
怎么,不太明白,能解释一下么?
我的上个页面是这样的
">



ryonick

职务:普通成员
等级:2
金币:1.0
发贴:317
#72003/3/28 12:18:24
request.form("")接受表单的是value的值.不是NAME值



嘎嘎

职务:普通成员
等级:1
金币:1.0
发贴:287
#82003/3/28 12:36:51
是的,我是说里面填的是NAME 的名称。
可是if len(request.form("item"&rs("id")))>0 then
是什么意思呢?"item"&rs("id")



嘎嘎

职务:普通成员
等级:1
金币:1.0
发贴:287
#92003/3/28 12:37:48
<%=request.form("表单NAME")%>



ryonick

职务:普通成员
等级:2
金币:1.0
发贴:317
#102003/3/28 14:56:19
CHECKBOX的值只有在被选中,也就是被打上勾.request才能读出其中的的值,没被打上勾为空值.LEN是用来测量字符串长度的函数.用LEN来测量空值,返回的肯定为0.而CHECKBOX被选中后,无论value是何值,都大于0.
if len(request.form("item"&rs("id")))>0 then此语句的意思就是当ITEM(CHECKBOX)被选中后,就将该ID删除.



沉默是金

职务:普通成员
等级:6
金币:11.2
发贴:4357
#112003/3/28 16:17:51
id=trim(request.form("id"))
if id<>"" then
sql="delete from table where id in ("&id&")"
set rs=cn.execute(sql)
end if

编辑历史:[这消息被arhui编辑过(编辑时间2003-03-28 16:19:44)]

难人一个……