Foxtable(狐表)用户栏目专家坐堂 → 关于复选列表的数值接收


  共有2147人关注过本帖树形打印复制链接

主题:关于复选列表的数值接收

帅哥哟,离线,有人找我吗?
zhy400137
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1133 积分:8227 威望:0 精华:0 注册:2013/11/3 19:00:00
关于复选列表的数值接收  发帖心情 Post By:2018/5/30 9:25:00 [显示全部帖子]

帮助中复选列表框的添加是:
With wb.AddCheckGroup("form1","偏好","品牌偏好")
     
.Add("苹果","苹果")
     .Add("华为","华为")
     
.Add("三星","三星")
End With
接收是:
Dim sb As New StringBuilder
sb.AppendLine("<meta name='viewport' c>")
For Each key As String In e.PostValues.Keys
   sb.AppendLine(key & ":" & e.PostValues(key) & "<br/>")
Next
能到的数据是:
苹果 on
华为 on 

我的问题是:
如果复选列表是根据表动态生成的,会有很多个复选列表框,我如何将 值 ON 和 表中的行对应起来,
比如做问卷调查时,如果接收到的数据都是 答案 ON的形式,我如何知道是哪一题的答案呢?谢谢



 回到顶部
帅哥哟,离线,有人找我吗?
zhy400137
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1133 积分:8227 威望:0 精华:0 注册:2013/11/3 19:00:00
  发帖心情 Post By:2018/5/30 9:40:00 [显示全部帖子]

这个是生成,我想知道的是如何接收?接收时,如何判断是哪一题?
            '以下代码处理品牌复选列表项
            Dim pp As String
            nms = New String() {"苹果","华为","三星"}
'将nms重新定义为品牌数组
           
For Each nm As String In nms
                If e.PostValues.ContainsKey(nm) AndAlso e.PostValues(nm).Trim() = "on" Then
'
不能省略Trim
                    pp = pp & nm  & ","
                End If
            Next
这样写,如果有20题复选列表,不是要写20次一样的代码?

 回到顶部
帅哥哟,离线,有人找我吗?
zhy400137
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1133 积分:8227 威望:0 精华:0 注册:2013/11/3 19:00:00
  发帖心情 Post By:2018/5/30 9:59:00 [显示全部帖子]

这个写如果有20题的多选列表题,我要一个一个答案的去判断,不可能这样吧?
    '----------------声明一个字典,对Post方式提交的数据进行去重,对多选择的值进行串联-------------
    Dim zd As New Dictionary(Of String, String)
    Dim zdKey As String,zdValue As String
    For Each key As String In e.PostValues.Keys
        If key.Contains(":") Then
            zdKey= key.Split(":")(0)
            zdValue=key.split(":")(1)
        Else
            zdKey=key
            zdValue=e.PostValues(key)
        End If
        If zd.ContainsKey(zdKey) = False Then
            zd.Add(zdKey,zdValue)
        Else
            zd(zdKey)=zd(zdKey) & "," & zdValue
        End If
    Next
我现在的方法是,添加题时把ID包含进去,接收时再用split拆开,但总觉得应该有
更好的方法,看PHP里的处理,是把表单的NAME值设置成一个数组,接收时就可以
循环数组,狐表是否也可以这样写呢?谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
zhy400137
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1133 积分:8227 威望:0 精华:0 注册:2013/11/3 19:00:00
  发帖心情 Post By:2018/5/30 10:55:00 [显示全部帖子]

好的,谢谢

 回到顶部