以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于复选列表的数值接收 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=119680) |
-- 作者:zhy400137 -- 发布时间: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的形式,我如何知道是哪一题的答案呢?谢谢 |
-- 作者:有点甜 -- 发布时间:2018/5/30 9:38:00 -- With wb.AddCheckGroup("form1","偏好","品牌偏好") for each r as row in tables("表A") End With |
-- 作者:zhy400137 -- 发布时间: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次一样的代码?
|
-- 作者:有点甜 -- 发布时间:2018/5/30 9:41:00 -- http://www.foxtable.com/mobilehelp/scr/0152.htm
|
-- 作者:zhy400137 -- 发布时间: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值设置成一个数组,接收时就可以 循环数组,狐表是否也可以这样写呢?谢谢
|
-- 作者:有点甜 -- 发布时间:2018/5/30 10:23:00 -- 以下是引用zhy400137在2018/5/30 9:59:00的发言:
我现在的方法是,添加题时把ID包含进去,接收时再用split拆开,但总觉得应该有
更好的方法,看PHP里的处理,是把表单的NAME值设置成一个数组,接收时就可以
循环数组,狐表是否也可以这样写呢?谢谢
只有这种方法。
php里面,是因为人家先帮你处理了一遍,然后你就可以直接用了。你也可以先把key处理一遍,弄到一个字典里面,然后直接用。 |
-- 作者:zhy400137 -- 发布时间:2018/5/30 10:55:00 -- 好的,谢谢 |