asp 中复选框的值更改问题~~超急
<!--#includefile="conn.asp"--><%ifrequest("no")="modi"thennewsid=request("newsid")tit...
<!--#include file="conn.asp"-->
<%
if request("no")="modi" then
newsid=request("newsid")
title=request("title")
pic1=request("pic1")
item=request("item")
size=request("size")
material=request("material")
BigClassName=request("BigClassName")
SmallClassName=request("SmallClassName")
content=request("content")
tj=request("tj")
tg=request("tg")
set rs=server.createobject("adodb.recordset")
sql="select * from product where id="&newsid
rs.open sql,conn,1,3
rs("title")=title
rs("content")=content
rs("pic1")=pic1
rs("item")=item
rs("size")=size
rs("material")=material
rs("BigClassName")=BigClassName
rs("SmallClassName")=SmallClassName
rs("tj")=tj
rs("tg")=tg
rs.update
rs.close
set rs=nothing
response.write "<script language='javascript'>" & chr(13)
response.write "alert('产品修改成功!');" & Chr(13)
response.write "window.document.location.href='ProductManage.asp';"&Chr(13)
response.write "</script>" & Chr(13)
Response.End
end if%>
以上为更新代码
以下为取值代码
<form name="addNEWS" method="post" action="Product_infomodi.asp?no=modi" onSubmit="return CheckForm();">
<table> <tr>
<td height="14" align="center" bgcolor="#FF0000">
<p align="left">审核通过:</td>
<td height="14" align="center" bgcolor="#FF0000" colspan="2">
<p align="left">
<input type="radio" value="1" name="tj" <%if rso("tj")=1 then Response.Write "checked"%>>
是
<input type="radio" value="0" name="tj" <%if rso("tj")=0 then Response.Write "checked"%>> 否</td>
</tr>
<tr>
<td height="15" align="left" bgcolor="#FF0000">是否首页推荐</td>
<td height="15" align="left" bgcolor="#FF0000" colspan="2">
<input name="tg" type="checkbox" id="tg" value="<%=rso("tg")%>" <%if rso("tg")=true then Response.Write "checked"%>/>
<input type="submit" name="Submit" value="提交" class="input">
<input type="hidden" name="newsId" value="<%=newsId%>">
<input type="reset" name="Submit2" value="重置" class="input">
</td>
</tr></table>
</form>
</div>
<% End If
rso.close
set rso=nothing
%>
取值正常,就是点提交之后原来的复选框的值勾选状态均为变更,其它一切正常,只把出错的一个字段和上面一个字段贴出来了,其它的省略了,出错的字段为“tg”也就是这里提交的<input name="tg" type="checkbox" id="tg" value="<%=rso("tg")%>" <%if rso("tg")=true then Response.Write "checked"%>/>
请帮忙看看哪里出了问题啊
忘了说明:tg 的字段类型为是/否,在数据读取的值没有问题,就是更新的时候写入不了,也就是说传递过去的值没有被接收 展开
<%
if request("no")="modi" then
newsid=request("newsid")
title=request("title")
pic1=request("pic1")
item=request("item")
size=request("size")
material=request("material")
BigClassName=request("BigClassName")
SmallClassName=request("SmallClassName")
content=request("content")
tj=request("tj")
tg=request("tg")
set rs=server.createobject("adodb.recordset")
sql="select * from product where id="&newsid
rs.open sql,conn,1,3
rs("title")=title
rs("content")=content
rs("pic1")=pic1
rs("item")=item
rs("size")=size
rs("material")=material
rs("BigClassName")=BigClassName
rs("SmallClassName")=SmallClassName
rs("tj")=tj
rs("tg")=tg
rs.update
rs.close
set rs=nothing
response.write "<script language='javascript'>" & chr(13)
response.write "alert('产品修改成功!');" & Chr(13)
response.write "window.document.location.href='ProductManage.asp';"&Chr(13)
response.write "</script>" & Chr(13)
Response.End
end if%>
以上为更新代码
以下为取值代码
<form name="addNEWS" method="post" action="Product_infomodi.asp?no=modi" onSubmit="return CheckForm();">
<table> <tr>
<td height="14" align="center" bgcolor="#FF0000">
<p align="left">审核通过:</td>
<td height="14" align="center" bgcolor="#FF0000" colspan="2">
<p align="left">
<input type="radio" value="1" name="tj" <%if rso("tj")=1 then Response.Write "checked"%>>
是
<input type="radio" value="0" name="tj" <%if rso("tj")=0 then Response.Write "checked"%>> 否</td>
</tr>
<tr>
<td height="15" align="left" bgcolor="#FF0000">是否首页推荐</td>
<td height="15" align="left" bgcolor="#FF0000" colspan="2">
<input name="tg" type="checkbox" id="tg" value="<%=rso("tg")%>" <%if rso("tg")=true then Response.Write "checked"%>/>
<input type="submit" name="Submit" value="提交" class="input">
<input type="hidden" name="newsId" value="<%=newsId%>">
<input type="reset" name="Submit2" value="重置" class="input">
</td>
</tr></table>
</form>
</div>
<% End If
rso.close
set rso=nothing
%>
取值正常,就是点提交之后原来的复选框的值勾选状态均为变更,其它一切正常,只把出错的一个字段和上面一个字段贴出来了,其它的省略了,出错的字段为“tg”也就是这里提交的<input name="tg" type="checkbox" id="tg" value="<%=rso("tg")%>" <%if rso("tg")=true then Response.Write "checked"%>/>
请帮忙看看哪里出了问题啊
忘了说明:tg 的字段类型为是/否,在数据读取的值没有问题,就是更新的时候写入不了,也就是说传递过去的值没有被接收 展开
4个回答
展开全部
... value="<%=rso("tg")%>" <%if rso("tg")=true ...
看看你的 rso("tg"),紧靠的两个:前一个是文本值,后一个是逻辑值。
哪有一个数据记录是双重值的!
看看你的 rso("tg"),紧靠的两个:前一个是文本值,后一个是逻辑值。
哪有一个数据记录是双重值的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
rs("tg")=tg的时候接收的值仅允许为-1和0
但在下面代码中
<input name="tg" type="checkbox" id="tg" value="<%=rso("tg")%>" <%if rso("tg")=true then Response.Write "checked"%>/>
tg的 value为true或false
而且你对checkbox的属性不太了解,如果checkbox选中的时候它传出的值为你上面的value如果没有被选中时他传出的值为空。
建议在录库时做如下处理:
把rs("tg")=tg换为:
if tg<>"" then
rs("tg")=-1
else
rs("tg")=0
end if
但在下面代码中
<input name="tg" type="checkbox" id="tg" value="<%=rso("tg")%>" <%if rso("tg")=true then Response.Write "checked"%>/>
tg的 value为true或false
而且你对checkbox的属性不太了解,如果checkbox选中的时候它传出的值为你上面的value如果没有被选中时他传出的值为空。
建议在录库时做如下处理:
把rs("tg")=tg换为:
if tg<>"" then
rs("tg")=-1
else
rs("tg")=0
end if
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Response.Write " checked"%>/>
是不是应该这样啊,加个空格
是不是应该这样啊,加个空格
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是要判断下tg接收时的取值是啥呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询