以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  Dim rdg1 As ExWeUI.ExRadioGroup 后rdg1.add("rd11","申请奖励") 被选中的值如何写进数据库里呢?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=168860)

--  作者:cnsjroom
--  发布时间:2021/5/24 23:38:00
--  Dim rdg1 As ExWeUI.ExRadioGroup 后rdg1.add("rd11","申请奖励") 被选中的值如何写进数据库里呢?
麻烦老师帮忙看看!
Dim rdg1 As ExWeUI.ExRadioGroup  后rdg1.add("rd11","申请奖励") 被选中的值如何写进数据库里呢?
下面的代码中画横线的貌似没有起作用。实名举报或匿名举报  申请奖励或不申请奖励 写入数据库的值为空  没有做任何写入
代码如下:
Dim e As RequestEventArgs = args(0)
Dim wb As New weui
Dim uuid As String = Guid.NewGuid.TOstring()
If e.PostValues.Count = 0 Then
    
    wb.Title = "test"
    wb.AddForm("","form1","testyzm.htm") 
    With wb.AddArticle("form1","ar1")
       \' .AddImage("./images/2.jpg")
        With wb.AddInputGroup("form1","ipg212","")
            With .AddInput("举报类型","举报类型","text")
                .Readonly=True
                .Value="环境污染"
            End With
            .AddInput("线索地点","线索地点","text").PlaceHolder = "请输入准确的地址"
            .AddInput("位置描述","位置描述*","text").PlaceHolder = "请输入地址辅助性说明"
        End With
        
        With wb.AddInputGroup("form1","ipg22","线索描述")
            With .AddTextArea("bz",5)
                .Placeholder = "请准确输入线索描述……"
            End With
        End With
        
        With wb.AddInputGroup("form1","ipg2","图片或视频上传") \'文件上传
            With.AddUploader("up1","",True) \'True表示允许上传多个文件
            .AllowDelete = True \'允许删除
            .Incremental = True \'允许重复选择文件或连续拍照
            .ScaleWidth = 1024
        End With
        \'Dim sb As New StringBuilder
        \'sb.appendLine("<div>")
        \'sb.appendLine("单文件上传: <input type=\'file\' name=\'up1\' id=\'up1\'><br/>")
        \'sb.appendLine("多文件上传: <input type=\'file\' name=\'up2\' id=\'up2\' multiple>")
        \'sb.appendLine("</div>")
        \'wb.InsertHTML("form1",sb.ToString)
    End With
    
    
    Dim rdg As ExWeUI.ExRadioGroup = ExWeUI.WebUI.AddRadioGroup("form1","rdg1","是否实名举报</span>")
    rdg.add("rd1","实名举报").Attribute =  "onc hange=\'jubaoxianshi()\'"
    rdg.add("rd2","匿名举报",True).enabled = True
    wb.InsertHTML("form1",rdg.BuildHtml)
    With wb.AddInputGroup("form1","ipg100","")
        With .AddInputCell("ic3") \'通过InputCell增加输入框
            .AddLabel("ljbr","举报人",0) \'增加标签,0显示在左边
            .AddInput("jbr","text",1).PlaceHolder = "请输入真实姓名" \'增加输入框,1表示显示在中间
        End With
        
        With .AddInputCell("ic4") \'通过InputCell增加输入框
            .AddLabel("lsj","联系电话",0) \'增加标签,0显示在左边
            .AddInput("sjh","text",1).PlaceHolder = "请输入联系电话"  \'增加输入框,1表示显示在中间
            .AddVcodeButton("vyz","获取验证码",2).Attribute="on click=\'getNum()\'"
        End With
        
        With .AddInputCell("ic5") \'通过InputCell增加输入框
            .AddLabel("lyzm","验证码",0) \'增加标签,0显示在左边
            .AddInput("yzm","text",1).PlaceHolder = "请输入短信中的验证码" \'增加输入框,1表示显示在中间
        End With
    End With
    With wb.AddInputGroup("form1","ipg12","")
        
        With .AddInputCell("ic6") \'通过InputCell增加输入框
            .AddLabel("lsj","联系电话",0) \'增加标签,0显示在左边
            .AddInput("sjh","text",1).PlaceHolder = "请输入联系电话"  \'增加输入框,1表示显示在中间
            .AddVcodeButton("vyz","获取验证码",2).Attribute="onc lick=\'getNum()\'"
        End With
        
        With .AddInputCell("ic7") \'通过InputCell增加输入框
            .AddLabel("lyzm","验证码",0) \'增加标签,0显示在左边
            .AddInput("yzm","text",1).PlaceHolder = "请输入短信中的验证码" \'增加输入框,1表示显示在中间
        End With
    End With
    
    Dim rdg1 As ExWeUI.ExRadioGroup = ExWeUI.WebUI.AddRadioGroup("form1","rdg2","是否申请奖励</span>")
    rdg1.add("rd11","申请奖励").Attribute = ”onc hange=\'jianglixianshi()\'"
    rdg1.add("rd21","不申请奖励",True).enabled = True
    wb.InsertHTML("form1",rdg1.BuildHtml)
    Dim bt As String ="根据《奖励办法(试行)》对符合条件的线索进行奖励,点击获取《奖励办法(试行)》详情.注:领取奖励需要实名"
    With wb.AddInputGroup("form1","ipg222","申请奖励须知")
        With .AddTextArea("bz1",3)
            .Readonly=True
            .Value= bt
        End With
    End With
    
    With wb.AddButtonGroup("form1","btg1",true)
         .Add("btn1", "确定", "submit").Attri bute= "oncl ick=\'submitForm3()\'" \'调用js函数上传
    End With
End With

wb.AppendHTML("<script>" & vars("yanzhengma") & "</script>") \'引入脚本文件
wb.AppendHTML("<script>" & vars("jubao") & "</script>") \'引入脚本文件

e.WriteString(wb.Build) \'生成网页
else

Dim sjh As String = e.Values("sjh")
        Dim yzm As String = e.Values("yzm")
        If e.Cookies.ContainsKey(sjh) = False Then
            e.WriteString("请点击发送验证码")
            Return ""
        End If
        If e.Cookies(sjh) <> yzm Then
            e.WriteString("验证码不正确")
            Return ""
        End If

dim a as boolean
if e.PostValues.ContainsKey("rd1") andalso e.PostValues("实名举报") = "on" then
a = true
end if

dim a1 as boolean
if e.PostValues.ContainsKey("rd2") andalso e.PostValues("匿名举报") = "on" then
a1 = true
end if

dim a12 as boolean
if e.PostValues.ContainsKey("申请奖励") andalso e.PostValues("申请奖励") = "on" then
a12 = true
end if

dim a13 as boolean
if e.PostValues.ContainsKey("不申请奖励") andalso e.PostValues("不申请奖励") = "on" then
a13 = true
end if


Dim cmd As New SQL Com mand
    cmd.Conne ctionNa me = "智慧党建"
    cmd.Comma ndText = "Ins ert Into  线索举报 (uuid,举报类型,线索地点,位置描述,线索描述,实名举报,匿名举报,联系人,联系电话,验证码,申请奖励,不申请奖励,举报时间) Values(?,?,?,?,?,?,?,?,?,?,?,?,?)"
    cmd.Parameters.Add("@uuid", uuid)

    cmd.Parameters.Add("@举报类型", e.PostValues("举报类型"))
    cmd.Parameters.Add("@线索地点", e.PostValues("线索地点"))
    cmd.Parameters.Add("@位置描述", e.PostValues("位置描述"))
    cmd.Parameters.Add("@线索描述", e.PostValues("bz"))
    cmd.Parameters.Add("@实名举报", a)
    cmd.Parameters.Add("@匿名举报", a1)
    cmd.Parameters.Add("@联系人", e.PostValues("jbr"))
    cmd.Parameters.Add("@联系电话", e.PostValues("sjh"))
    cmd.Parameters.Add("@验证码", e.PostValues("yzm"))
    cmd.Parameters.Add("@申请奖励", a12)
    cmd.Parameters.Add("@不申请奖励", a13)
    cmd.Parameters.Add("@举报时间",Date.now)
    cmd.ExecuteNonQuery

datatables("线索举报").load
End If


js代码如下:(也没有成功返回对应的页面testyzm.htm)
function submitForm3(){
    show("tst1",2000);
if (document.getElementById("yzm").value && document.getElementById("sjh").value ){
    submitAjaxForm(\'form1\',\'afterSubmit3\');
}
else{
show("toptip1",2000);
}
}

function afterSubmit3(result){
    hide("tst1");
    if (result==\'OK\') {
        show("tst2");
        location="testyzm.htm";
    }
    else{
        show("tst3",2000);
    }
}

下面部分的代码也没有成功实现判断,当手机号为空的时候提示请点击发送验证码,验证码不正确的时候提示验证码不对
        Dim sjh As String = e.Values("sjh")
        Dim yzm As String = e.Values("yzm")
        If e.Cookies.ContainsKey(sjh) = False Then
            e.WriteString("请点击发送验证码")
            Return ""
        End If
        If e.Cookies(sjh) <> yzm Then
            e.WriteString("验证码不正确")
            Return ""
        End If
[此贴子已经被作者于2021/5/24 23:46:31编辑过]

--  作者:有点蓝
--  发布时间:2021/5/25 8:38:00
--  
1、

单选列表项的属性有:

 Value  字符型,勾选后传递给服务端的值,如果不设置,将传递ID值给服务端。
 Enabld  逻辑型,设置为False,将无法勾选此列表项。
dim a as boolean
if e.PostValues.ContainsKey("rd1") andalso e.PostValues("实名举报") = "on" then
a = true
end if
改为
dim a as boolean = e.PostValues.ContainsKey("rd1")

2、js的getNum函数发一下

--  作者:cnsjroom
--  发布时间:2021/5/25 9:37:00
--  回复:(有点蓝)1、单选列表项的属性有: ...
function getNum()
{
   var gj=document.getElementById("sjh").value;
  if(gj==""){
  alert("请输入手机号!"); 
  } else {
   var phoneReg = /^1[3-578]\\d{9}$/;
   if(phoneReg.test(gj)){
  if(c==10){
  c = 10;
  timedCount();
  var result = sendAjaxText(document.getElementById("sjh").value, "faduanxin.htm","",false); 
  alert(result)
}
   }else{
alert("请输入正确手机号!");
       }
   }
}

麻烦老师指导下  谢谢
当前提交页面后 数据写入数据库表  但是返回页面返回不到testyzm页面 是一片空白…

--  作者:有点蓝
--  发布时间:2021/5/25 10:04:00
--  
参考这里的方法做提示:http://www.foxtable.com/mobilehelp/topics/0083.htm

或者:http://www.foxtable.com/mobilehelp/topics/0058.htm

--  作者:cnsjroom
--  发布时间:2021/5/25 13:54:00
--  回复:(有点蓝)1、单选列表项的属性有: ...

    Dim rdg As ExWeUI.ExRadioGroup = ExWeUI.WebUI.AddRadioGroup("form1","rdg1","是否实名举报</span>")
    rdg.add("rd1","实名举报").Attribute = ""
    rdg.add("rd2","匿名举报",True).enabled = True
    wb.InsertHTML("form1",rdg.BuildHtml)


dim a as boolean
if e.PostValues.ContainsKey("rd1")= "on" then
a = true
end if

dim a1 as boolean
if e.PostValues.ContainsKey("rd2")= "on" then
a1 = true
end if

如果加上= "on"   整个页面提交的数据都不会成功写入数据库
如果取消= "on"   页面提交的数据中  这个部分的值永远是空 

麻烦老师继续指导下  谢谢!

--  作者:有点蓝
--  发布时间:2021/5/25 14:41:00
--  
仔细看2楼。这个是第三方的组件,看组件自己的帮助,不是官方的weui,不要以官方weui的帮助来约束第三方组件

dim a as boolean = e.PostValues.ContainsKey("rd1")

--  作者:cnsjroom
--  发布时间:2021/5/25 15:22:00
--  回复:(有点蓝)仔细看2楼。这个是第三方的组件,看组...


 dim a as boolean = e.PostValues.ContainsKey("实名举报")

 dim a as boolean = e.PostValues.ContainsKey("rd1")


  MessageBox.Show(a)都是false   老师有没有办法求解啊


以下是对应的说明  一直没有看明白呢

单选列表项 Radio

原单选列表项一个选项占用一行,如果项目比较多,会占用不少的页面空间。这里提供的单选列表项可以和客户端的单选框一样在一排显示,并且可以根据页面宽度自动折行显示。

要使用单选列表项,首先得定义一个单选列表组,定义单选列表组的语法是:

ExWeUI.WebUI.AddRadioGroup(ParentID, ID)
ExWeUI.WebUI.AddRadioGroup(ParentID, ID, Text)

 ParentID  暂时没有其它用处,设置为空字符串""即可。
 ID  分组ID。
 Text  可选参数,用于指定分组标题。如果不指定则不会显示标题行。


增加单选列表项的语法是:

Add(ID, Text)
Add(ID, Text, Checked)

 ID  列表项ID。
 Text  单选列表项的文本内容。
 Checked  逻辑型,可选参数,单选列表项默认是否勾选。


单选列表项的属性有:

 Value  字符型,勾选后传递给服务端的值,如果不设置,将传递ID值给服务端。
 Enabld  逻辑型,设置为False,将无法勾选此列表项。
 Color

 枚举型,类型为ExWeUI.ExWeuiColor,设置单选列表项勾选框的颜色。有绿、蓝、黄、红四种,默认为绿色,和weui色调一致。

 0  ExWeUI.ExWeuiColor.green
 1  ExWeUI.ExWeuiColor.blue
 2  ExWeUI.ExWeuiColor.red
 3  ExWeUI.ExWeuiColor.orange
 Size  字符型,用于指定控件尺寸大小。可用值有:"S"、"M"、"L",大小写均可。默认为“M”

--  作者:有点蓝
--  发布时间:2021/5/25 15:33:00
--  
说明没有选择rd1,而是选择了rd2

MessageBox.Show( e.PostValues.ContainsKey("rd1"))
MessageBox.Show( e.PostValues.ContainsKey("rd2"))

--  作者:cnsjroom
--  发布时间:2021/5/25 16:02:00
--  回复:(有点蓝)说明没有选择rd1,而是选择了rd2Mess...
匿名举报rd2是页面默认打开就选择的  
如果用户选择了实名举报rd1或者默认匿名举报rd2不做修改 之后
两个值弹出的结果都是false
老师有没有办法呢?

[此贴子已经被作者于2021/5/25 16:06:20编辑过]

--  作者:有点蓝
--  发布时间:2021/5/25 16:25:00
--  
是我搞错了。

dim a,a1 as boolean
if e.PostValues.ContainsKey("rdg1") then
if e.PostValues("rdg1") = “rd1
a = true
elseif e.PostValues("rdg1") = “rd2
a1 = true
endif
end if

学会调试看返回值:http://www.foxtable.com/mobilehelp/topics/0027.htm
Select Case e.Path
    Case "test.htm"
        Dim wb As New weui
        wb.AppendHTML("<link rel=\'stylesheet\' href=\'./weui/exweui.css\'/>",True) \'需要注意的是,这里必需要使用true参数,假设文件放在weui目录中
        wb.AppendHTML( "<script src=\'./weui/exweui.js\' ></script>" , True ) \'需要注意的是,这里必需要使用true参数
        wb.AddForm("","form1","accept.htm")
        Dim rdg As ExWeUI.ExRadioGroup
        
        rdg  = ExWeUI.WebUI.AddRadioGroup("","rdg3","支持4种默认颜色")
        rdg.add("rd31","Microsoft Edge") \'不设置默认为绿色
        rdg.add("rd32","Google Chorme",True).color = 1
        rdg.add("rd33","FireFox").color = 2
        rdg.add("rd34","QQ浏览器").color = 3
        Dim rd21 = rdg.add("rd35","傲游浏览器")
        rd21.color = 3
        rd21.enabled = False
        wb.InsertHTML("form1",rdg.BuildHtml)
        
        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btn1", "确定", "submit")
        End With
        wb.AppendHTML("<script>initExWeUI();</script>") \'需要注意的是,这里不需要使用true参数
        e.WriteString(wb.Build) \'生成网页
    Case "accept.htm"
        Dim sb As New StringBuilder
        sb.AppendLine("接收到的数据有:<br/><br/>")
        For Each key As String In e.Values.Keys
            sb.AppendLine(key & ":" & e.Values(key) & "<br/>")
        Next
        e.WriteString(sb.ToString)
End Select