ASP网页复选框无法传值到下一页面!
首先,祝大家2009年元旦快乐!无奈小弟半夜还在加班!请大家帮忙!小弟在做一个页面,功能很简单,就是在查询结果中,利用复选框,选择多条数据后,共同使用一文本框中的图片名称...
首先,祝大家2009年元旦快乐!无奈小弟半夜还在加班!请大家帮忙!
小弟在做一个页面,功能很简单,就是在查询结果中,利用复选框,选择多条数据后,共同使用一文本框中的图片名称,然后提交给后台处理页面,写入数据库!
但是,现在的问题是,在后台页面中,request.form("check")接收不到值! (check为复选框名称!)
以下为部分代码,请高手帮忙看一看哪里有问题!
<tr>
<form name="form" action="save-images.asp" method="post" onSubmit="return cc();"> ’onSubmit="return cc(); 这是检测是否选中的JS代码,如果没有会提示重新选择
<th colspan=7 align="right" height=23><label style="float:left; padding-top:5px">搜索结果</label>
<input name="images" type="text" style="background-color:#FFFFDD">节 ‘这个是图片名称文本框
<input name="add-images" type="submit" value="上传图片" style=" color:#0000FF"></th>
<tr align=center>
<td class=forum><b>自动编号</b></td>
<td class=forum><b>小类名称</b></td>
<td class=forum><b>名称</b></td>
<td class=forum><b>发布日期</b></td>
<td width="10%" class=forum><b>操作</b></td>
<td width=4% class=forum><b>有图</b></td>
</tr>
<tr>
<td align="center" class=forumrow width=8%><%=rs("id")%></td>
<td class=forumrow width=16% align=center><%=smallclassid%>">
</td>
<td align="left" class=forumrow width=44%><%=rs("part")%></td>
<td width=15% align="center" class=forumrow ><%=rs("date")%></td>
<td class=forumrow align=center><a href="products_edit.asp?id=<%=rs("id")%>">修改</a> | <a href="?action=del&id=<%=rs("id")%>" onClick="if(!window.confirm('警 告: 确定要删除此库存? 删除后无法恢复!!')) {return false}">删除</a></td>
分页代码。。。。(部分无关代码省略)
<td align="center" class=forumrow>
<input type="checkbox" name="check" value="<%=rs("id")%>" <%if rs("spec")="1" then response.Write("checked")%>></td>
</tr>
分页代码。。。。省略
</form>
以下为后台处理页面:save-images.asp
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/shabibisha/okbisha/#000shujk#wenjin.mdb")
set rs1= Server.CreateObject ("ADODB.Recordset")
sql0="select * from products"
rs1.Open sql0,conn,1,1
Do Until rs1.EOF
chk=request.form("check")期 ‘([b]主要问题就是在这里,接收不到上页所选的复选框的值!复选框已经检测为选中![/b])
images=request.Form("images") ‘文本框的值可以传过来
Set rs = Server.CreateObject ("ADODB.Recordset")
sql="select * from products where ID="&chk
'rs.Open sql,conn,1,3
response.write sql '[b]此处只能写出 select * from products where ID=,后面的变量无法接收到[/b]
response.end
rs("spec")=1
rs("images")=images
rs.update
rs.close
Set rs = Nothing
rs1.MoveNext
Loop
%>
以上就是两个页面的关键代码,请高手帮忙修改一下,谢谢了!
如果还有更好的方法或者思路,也请写下来!需要更多代码的话,我单独给你发过去!谢谢!
最后,在2009年的第一天,祝大家,新年快乐,牛气冲天!
补充:
1,应该不是数组的问题,因为在选择一个复选框的时候,也无法正常传值
2,至于说“check”是关键字,但是换成其它名字也不行!
传值是最大的问题,因为不论CHK是什么值,response.write sql 这一句总能得到ID= 后面的 &chk 值的! 展开
小弟在做一个页面,功能很简单,就是在查询结果中,利用复选框,选择多条数据后,共同使用一文本框中的图片名称,然后提交给后台处理页面,写入数据库!
但是,现在的问题是,在后台页面中,request.form("check")接收不到值! (check为复选框名称!)
以下为部分代码,请高手帮忙看一看哪里有问题!
<tr>
<form name="form" action="save-images.asp" method="post" onSubmit="return cc();"> ’onSubmit="return cc(); 这是检测是否选中的JS代码,如果没有会提示重新选择
<th colspan=7 align="right" height=23><label style="float:left; padding-top:5px">搜索结果</label>
<input name="images" type="text" style="background-color:#FFFFDD">节 ‘这个是图片名称文本框
<input name="add-images" type="submit" value="上传图片" style=" color:#0000FF"></th>
<tr align=center>
<td class=forum><b>自动编号</b></td>
<td class=forum><b>小类名称</b></td>
<td class=forum><b>名称</b></td>
<td class=forum><b>发布日期</b></td>
<td width="10%" class=forum><b>操作</b></td>
<td width=4% class=forum><b>有图</b></td>
</tr>
<tr>
<td align="center" class=forumrow width=8%><%=rs("id")%></td>
<td class=forumrow width=16% align=center><%=smallclassid%>">
</td>
<td align="left" class=forumrow width=44%><%=rs("part")%></td>
<td width=15% align="center" class=forumrow ><%=rs("date")%></td>
<td class=forumrow align=center><a href="products_edit.asp?id=<%=rs("id")%>">修改</a> | <a href="?action=del&id=<%=rs("id")%>" onClick="if(!window.confirm('警 告: 确定要删除此库存? 删除后无法恢复!!')) {return false}">删除</a></td>
分页代码。。。。(部分无关代码省略)
<td align="center" class=forumrow>
<input type="checkbox" name="check" value="<%=rs("id")%>" <%if rs("spec")="1" then response.Write("checked")%>></td>
</tr>
分页代码。。。。省略
</form>
以下为后台处理页面:save-images.asp
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/shabibisha/okbisha/#000shujk#wenjin.mdb")
set rs1= Server.CreateObject ("ADODB.Recordset")
sql0="select * from products"
rs1.Open sql0,conn,1,1
Do Until rs1.EOF
chk=request.form("check")期 ‘([b]主要问题就是在这里,接收不到上页所选的复选框的值!复选框已经检测为选中![/b])
images=request.Form("images") ‘文本框的值可以传过来
Set rs = Server.CreateObject ("ADODB.Recordset")
sql="select * from products where ID="&chk
'rs.Open sql,conn,1,3
response.write sql '[b]此处只能写出 select * from products where ID=,后面的变量无法接收到[/b]
response.end
rs("spec")=1
rs("images")=images
rs.update
rs.close
Set rs = Nothing
rs1.MoveNext
Loop
%>
以上就是两个页面的关键代码,请高手帮忙修改一下,谢谢了!
如果还有更好的方法或者思路,也请写下来!需要更多代码的话,我单独给你发过去!谢谢!
最后,在2009年的第一天,祝大家,新年快乐,牛气冲天!
补充:
1,应该不是数组的问题,因为在选择一个复选框的时候,也无法正常传值
2,至于说“check”是关键字,但是换成其它名字也不行!
传值是最大的问题,因为不论CHK是什么值,response.write sql 这一句总能得到ID= 后面的 &chk 值的! 展开
3个回答
展开全部
你应该接收不到所有form传过去的值吧,上传图片除外。正是因为你在前面执行了图片上传的操作,导致这些传过来的参数都已经丢失。解决的办法有两种:
1、用单独的图片上传页面+传统表单来完成任务。也就是先上传图片,再用js把上传后的图片地址传递给普通form表单,再执行上传图片后的操作。
2、使用能够同时处理图片上传和接收表单数据的上传类来做表单数据接收工作。网上有许多无组件上传类可用,以搜一搜就有了。
1、用单独的图片上传页面+传统表单来完成任务。也就是先上传图片,再用js把上传后的图片地址传递给普通form表单,再执行上传图片后的操作。
2、使用能够同时处理图片上传和接收表单数据的上传类来做表单数据接收工作。网上有许多无组件上传类可用,以搜一搜就有了。
参考资料: http://www.ljf.cn/
展开全部
request.form("check"),一看就觉得不对劲,check应该是关键字来的吧,换个名字
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的check是有很多个吧,那么你chk=request.form("check")接受到的chk是一个数组,用","分割开的数组。
下面方法试一下
set rs1= Server.CreateObject ("ADODB.Recordset")
for i = 0 to ubound(split(request.Form("check"),","))
conn.execute("update products set spec=1,images='"&images&"' where ID="&split(request.Form("check"),",")(i))
next
rs1.close
下面方法试一下
set rs1= Server.CreateObject ("ADODB.Recordset")
for i = 0 to ubound(split(request.Form("check"),","))
conn.execute("update products set spec=1,images='"&images&"' where ID="&split(request.Form("check"),",")(i))
next
rs1.close
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询