以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  移动端,当某行不输入时,点注册,提示错误:  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=102947)

--  作者:zhangjian222200
--  发布时间:2017/6/28 9:29:00
--  移动端,当某行不输入时,点注册,提示错误:

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20170628092217777.png
图片点击可在新窗口打开查看

移动端,当不输入上图红框行时,点注册,提示错误:

.NET Framework 版本:2.0.50727.8669
Foxtable 版本:2017.6.12.1
错误所在事件:自定义函数valid_register
详细错误信息:
调用的目标发生了异常。
值不能为空。
参数名: input

页面代码:
Dim e As RequestEventArgs = args(0)                             \'注册第1页,注册
If e.PostValues.Count = 0 Then
    Dim wb As New weui
    wb.AddTopTips("","toptip1","") \'用于显示动态错误提示
    
    wb.AddForm("","form1","register.htm").Attri-bute="on-submit=\'re-turn validit_register()\'"
    With wb.AddInputGroup("form1","ipg1","快速注册")
        With .AddInputCell("ic1")  \'通过InputCell增加输入框(1表示突出显示,2表示红色警示图标)
            .AddLabel("lsj","手机",0)  \'增加标签(0显示在左边)
            .AddInput("isj","text",1).PlaceHolder= "请输入手机号"  \'增加输入框(0靠左显示,1居中显示,2靠右显示)
        End With
        With .AddInputCell("ic2")
            .AddLabel("lyz","验证",0)
            .AddInput("iyz","text",1).PlaceHolder= "请输入验证码"
            .AddVcodeButton("vyz","获取验证码",2).Attri-bute="on-click=\'validit_register_fasongduanxin()\'"      \'0靠左显示,1居中显示,2靠右显示
        End With
        With .AddInputCell("ic3")
            .AddLabel("lmm","密码",0)
            .AddInput("imm","text",1).PlaceHolder= "请输入密码"
        End With
        With .AddInputCell("ic4")
            .AddLabel("lyqm","邀请码",0)
            .AddInput("iyqm","text",1).PlaceHolder= "请填写邀请码,非必填!"
        End With
        .AddSelect("sxb","我的性别","注册后,性别不可更改!|男|女")
        \'wb.InsertHTML("友情提醒:注册后,性别不可更改!")
        .AddSwitch("fuwuxieyi","同意协议").Value = "是"
        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btn1", "点此注册", "submit")
            .Add("btn2", "服务协议", "","/protocol.htm").Kind = 1
        End With
    End With
    
    If e.Cookies.ContainsKey("isj") \'如果存在名为isj的Cookie,即已经登录
        With wb.AddDialog("","dlg1", "温馨提示","您已经登录,会员中心退出后再注册!将自动跳转到会员中心!")
            .AddButton("btnOK","确定","/personal.htm")
        End With
        wb.AppendHTML("<script>show(\'dlg1\')</script>")
        e.WriteString(wb.Build) \'生成网页
        Return "" \'必须的
    End If
    
    wb.AppendHTML("<script src=\'./lib/ajaxform_register_fasongduanxin.js\'></script>") \'引入脚本文件
    wb.AppendHTML("<script src=\'./lib/ajaxform_register.js\'></script>") \'引入脚本文件
    e.WriteString(wb.Build)
End If
[此贴子已经被作者于2017/6/28 9:30:36编辑过]

--  作者:有点色
--  发布时间:2017/6/28 9:47:00
--  
 贴出你valid_register函数的代码
--  作者:有点色
--  发布时间:2017/6/28 9:49:00
--  

提示很明显了,如果值为空,你做了什么操作?你不能先判断一下?

 

If e.PostValues("iyqm") > "" Then

 

End If


--  作者:zhangjian222200
--  发布时间:2017/6/28 10:13:00
--  
valid_register函数的代码:搜索iyqm,2处涉及,其中第2处已加了判断(因为代码超长,详细代码,见附件)
Dim num As String = e.PostValues("isj") \'验证手机号
Dim dr As DataRow \'定义输入的手机号,所在的行(以便于下面代码内查找此行)
Dim sjcz As String                       \'定义手机存在
Dim yzmm As String = e.PostValues("imm") \'验证密码
Dim yzyqm As String = e.PostValues("iyqm") \'验证邀请码
Dim dryqm As DataRow  \'用于:查找"会员资料"表,"会员编号"列,是否存在与邀请码相同的行

******

Dim drs As DataRow = DataTables("会员资料").AddNew()
Dim drbianh As String = DataTables("会员资料").SQLCompute("Max(会员编号)") + 1
e.AppendCookie("drbianhao",drbianh) \'在客户端存储Cookie(保存新增的会员编号)

Dim drsgl As DataRow \'管理人行集合
If drs IsNot Nothing Then
    \'msgbox("内部:" & 1)
    drs("会员编号") = drbianh
    drs("手机") = e.PostValues("isj") \'填写新会员手机
    drs("密码") = e.PostValues("imm") \'填写新会员密码
    drs("性别") = e.PostValues("sxb") \'填写新会员性别
    drs("注册日期") = Date.Now  \'填写新会员注册日期
    drs("会员等级") = "普通会员"  \'填写新会员,会员等级
    drs("同意协议") = "是"  \'填写新会员,同意协议
    drs("邀ta次数_今日剩余") = "3" \'填写新会员,今日剩余
    drs("邀ta次数_今日使用") = "0"  \'填写新会员,今日使用
    drs("身份证认证") = "暂未上传"  \'填写新会员,身份证认证情况
    
    drs("综合审核") = "需要审核"  \'填写新会员,综合审核
    drs("资料审核") = "需要审核"  \'填写新会员,资料审核
    drs("有无投诉") = "暂无投诉"  \'填写新会员,有无投诉

    drs("学历认证") = "暂未上传"  \'填写新会员,学历认证
    drs("微信认证") = "暂未填写"  \'填写新会员,微信认证
   \'drs("剩余_沟通服务次数") = 0  \'填写新会员,剩余_深度服务次数(因为取消直接联系功能,注释处理)
    drs("照片审核") = "暂未上传"  \'填写新会员,照片审核
    drs("推荐人数") = 0  \'填写新会员,推荐人数
    drs("资料完整度") = "尚需完善"  \'填写新会员,资料完整度
    drs("注册填写到") = "register"  \'填写新会员,注册资料填写到什么程度
    
    If yzyqm <> "" Then  \'如果邀请码不为空,则(填写邀请次数|更改邀请人的会员等级)
        \'msgbox("内部:" & 2)
        drs("邀请码") = e.PostValues("iyqm") \'填写新会员的邀请码
        \'msgbox("内部:" & 3)
        
        Dim tjrs1 As String = dryqm("推荐人数") \'定义推荐人原有推荐人数(数据转换用)
        Dim tjrs As Integer \'定义推荐人原有推荐人数
        Integer.TryParse(tjrs1,tjrs)
        \'msgbox("原有推荐人数列:" & dryqm("推荐人数"))
        tjrs = tjrs + 1
        \'msgbox("推荐人数计算后:" & tjrs)
        dryqm("推荐人数") = tjrs  \'写入邀请人的邀请次数(注意:与刚添加的行不同)
        \'msgbox("推荐人数保存:" & dryqm("推荐人数"))
        \'msgbox("内部:" & 4)
        dryqm.save \'这里保存一次(因为之前测试,发现底部保存有问题,当没有推荐人的时候,保存出错,可能是因为没有推荐人时,不存在推荐人行,即dryqm所在的行)
        
        *******

    End If
    drs.save()
End If

wb.InsertHTML("<meta http-equiv=\'Refresh\' c>") \'跳转到注册完成页面(qrregister=1,传递值给fillout.htm页面,说明上个页面是valid_register.htm)
e.WriteString(wb.Build) \'生成网页

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:valid_register.txt



--  作者:有点色
--  发布时间:2017/6/28 10:41:00
--  
 看不出什么问题,函数那里,加入msgbox,定位看看哪句代码报错。
--  作者:zhangjian222200
--  发布时间:2017/6/28 15:11:00
--  
原因找到了,是js传递的postvalue值名字错误,造成的

还有
当值为空时,不能取字符值的的length属性值