ASP关于批量添加中有checkbox多选的问题,征求更好的实现方式

如题,首先我说,这个是没有错误的,我已经做好了,但是总觉得怪怪的,代码有点笨拙,希望大师们提出更好的方案。问题描述:为了简单易看,我字段全部改用A、B单字,其他语句就省略... 如题,首先我说,这个是没有错误的,我已经做好了,但是总觉得怪怪的,代码有点笨拙,希望大师们提出更好的方案。
问题描述:
为了简单易看,我字段全部改用A、B单字,其他语句就省略了。只做重要部分!
我做一个批量添加进数据库,接收表单处为:
A=split(request("A"),",")
A=split(request("B"),",")
for i=0 to 2
Rs.Open "Select * From [biao]",Conn,1,3
Rs.addnew
rs("A")=A(i)
rs("B")=B(i)
rs.update
next
这个是批量基本部分,好了。现在问题来了。A为input表单,这个就没什么问题,直接区别“,”号就可以了。B为一个多选checkbox,这就产生问题了。因为checkbox本身提交的时候会自己有","号,所以呢,这里就出错了。所有的B字段数据都添加在最后的第3条数据里了。于是乎,我的解决方法如下:
---------------------------------------------------------
表单部分:(此处省略调其他部分,只是说明一下提交处我用i做变量来改变提交的name名)
do while not Rs_u.eof
Response.Write "<input type='checkbox' id='checkbox' name='B"&i&"' value='"&Rs_u("ID")&"'/>名字"
Rs_u.movenext
--------------------------------------------------------
A=split(request("A"),",")
BB=request("B1")&"|"&request("B2")&"|"&request("B3")
B=split(bb,"|")
for i=0 to 2
Rs.Open "Select * From [biao]",Conn,1,3
Rs.addnew
rs("A")=A(i)
rs("B")=B(i)
rs.update
next
问题完成,这样就可以正常批量录入了。但是我有个问题就是,如果不是一次只录3条,而是若干条 呢。总不能全部写进BB变量中吧,所以大师们来个简单一点的建议。谢谢!
分不高,别介意!
展开
 我来答
cnhupo188f
2013-10-28 · TA获得超过128个赞
知道小有建树答主
回答量:521
采纳率:80%
帮助的人:210万
展开全部
Rs.Open "Select * From [biao]",Conn,1,3

' n checkbox number
for jjj=1 to n
tmpBBB=request("B"&jjj&"")
bbb=left(tmpBBB,len(tmpBBB)-1)

Rs.addnew
rs("A")=A(jjj)
rs("B")=Bbb
rs.update
next
追问
你误会我的意思了。我就是想取得未知的变量,你这种思路好像只是说在知道有几个的情况下循环,我意思是让程序自己去判断这个N,不是我去设置这个N。。这个N怎么能更方便一点的得到呢。表单中A因为是input选项,所以能轻松用split(a,",")获取,但B不可以,表单B是checkbox多选, checkbox本身提交多选会产生“,”号,所以不能够一步到位的使用split来获取循环次数,明白我意思吗?
追答
很容易获得N,下面的 语句将自动读取form中的变量和取值:

"

Next

%>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式