注册 登录
编程论坛 ASP技术论坛

请教如下问题:多项目调查问卷提交...急急急

dsgjuni 发布于 2008-04-25 19:48, 1327 次点击
  描述 :在一个页面同时显示多个项目的调查(多人评价),如客户满意度,客户忠诚度,信息化程度等30个, 还有可以根据要求任意增加项目,对他们的评价用一个标准,1优秀2良好3一般4差,我用的是 for ... next 循环显示所有的项目调查,这样不用一个一个的写,同时适用于添加新的项目.

  出现问题:在使用单选按纽,option时,我用的是数组,分别对应的是 项目的 id号(唯一),但在提交页面的时候,不能接受到option的值,如:request("option_name")不能识别,有没有更好的解决办法??
   很急,谢谢大家.   

[[it] 本帖最后由 dsgjuni 于 2008-4-26 16:55 编辑 [/it]]
13 回复
#2
dsgjuni2008-04-25 20:16
斑竹好人, 给个答复吧!
#3
hmhz2008-04-25 21:14
一般使用 for 循环显示项目,就用到数组再将循环显示的项目重新组合再重新写入数据库,使用循环就用到数组了,那么,重新写入,每个项目就得是唯一的值,然后将这些唯一的值重新组合成有规律的数组分别写入对应的字段中
#4
dsgjuni2008-04-25 21:43
好人,非常谢谢.
  继续问:<%   for i=1 to rs.recordcount and not rs.eof        %>
    <table width="550" border="0"  align="center" >
          <tr >
            <td bgcolor="#E6E9EA" height="24"  align="left>您对指标的评价是:</td>  </tr>
    </table>
    <table width="550" border="0" align="center" cellspacing="1">
    <tr  align="center" bgcolor="#FFFFFF">
<td <input type="radio" name="<%=rs("id")%>"  value="you>"   />优秀</td>
<td> <input type="radio"  name="<%=rs("id")%>" value="liang"   />良好</td>
<td> <input type="radio"  name="<%=rs("id")%>" value="zhong"   />一般</td>
<td> <input type="radio"  name="<%=rs("id")%>"  value="cha"   />较差</td>  </tr>    </table>
<%
rs.MoveNext
if rs.eof then exit for
next
rs.Close()
set rs=nothing
%>

其中rs("id")为 对应项目的 id号码, 如:001,002,...030.;也就是option的name属性, 在提交表单值的时候, 在提交页面使用:
if request.form("<%=rs("id")%>")="" then
    call Msgbox("请选中再投票!","Back")
    response.End
end if
判断是否进行投票即值是否为空(也是用循环判断30个项目值是否为空),时出现错误. 好象不能识别 option的 name属性值rs("id"), 你提供的办法 我不太会用.
  疑惑: option 的name属性 能用变量, 数组等来 标识吗???
#5
hmhz2008-04-25 21:51
其他不用,我看你第一句 for i=1 to rs.recordcount and not rs.eof 就有问题了
for 是循环语句,里面怎么还能加判断语句 and not rs.eof
#6
dsgjuni2008-04-25 22:01
我还真没怎么琢磨,到现在还没有因为这个出现过问题,  谢谢提醒, 先帮我看看我的疑惑.
   现在到处都有类似 调查问卷的 网页,  我孤陋寡闻, 怎么就找不到类似的代码.
 请大家指点, 期待中.....
#7
hmhz2008-04-25 22:09
rs("id") 字段是数字类型的吗? 不知道你这个id 是不是表中的自增排序的唯一id,如果是的,那你完蛋了,这个id是不能修改的,而且是数字型的怎么你带的值还是"you","liang","zhong","cha"这样的字符形内容呢?
#8
hmhz2008-04-25 22:12
还有忘了告诉你,name=""好象不能使用纯数字作为name名字 你尝试着带个字母上去,比如 name="A<%=rs("id")%>"
#9
dsgjuni2008-04-25 22:12
不是,是我自己写入的. 默认的 变体类型
#10
hmhz2008-04-25 22:15
还有,你这个问题还真多,往下看又发现了一个严重的问题
if request.form("<%=rs("id")%>")="" then
不可以这样写,if 判断语句已经在<%%>中了,所以里面就不能再使用<%%>语句了
要这样写 if request.form(rs("id"))="" then
相当于 if request.form(""&rs("id")&"")="" then
#11
dsgjuni2008-04-25 22:18
非常感谢, 我再尝试一下.
  刚接触不久, 很多不懂,以后继续请前辈赐教.
#12
dsgjuni2008-04-26 11:12
雪地裸并跪求.......
请前辈们帮我看看...
 问题在附件里面.
#13
dsgjuni2008-04-26 11:23
好心人帮忙啊...
#14
multiple19022008-04-26 14:07
把问题用尽量简洁的文字描述出来,有人非认为不用附件不能显示水准。
1