Foxtable(狐表)用户栏目专家坐堂 → [求助] 手机端传递空值


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

主题:[求助] 手机端传递空值

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


加好友 发短信
等级:七尾狐 帖子:1636 积分:14489 威望:0 精华:0 注册:2014/6/6 8:42:00
[求助] 手机端传递空值  发帖心情 Post By:2018/5/9 7:23:00 [只看该作者]

老师,下面的代码 请假天数 开始时间 结束时间  不为空,为什么只能传递修改的值,而当清空其中一输入框后的空值不能传递到后台数据库,还是原来的值?谢谢!

Dim PageNumber As Integer = e.GetValues("page")
Dim PrimaryKey As Integer = e.GetValues("key")
Dim PageURL = "scqxjcd.htm?page=" & PageNumber

If e.PostValues.Count = 0 Then
    Dim t1 As New Date(Date.Today.Year,5,1)
    Dim t2 As New Date(Date.Today.Year,10,1)
    Dim dr As DataRow = DataTables("请销假登记").SQLFind("[_Identify]=" & PrimaryKey)
    If dr IsNot Nothing Then
        wb.AddForm("","form1","bjqxjmx.htm?key=" & PrimaryKey &  "&page=" & PageNumber)
        With wb.AddInputGroup("form1","ipg1","请正确填写请假信息")
            With .AddInput("申请日期","申请日期","date")
                .Value = dr("申请日期") '留意一下这个格式,日期和时间之间用字母T隔开
                .Readonly = True
            End With
            With .AddInput("姓名","姓名","Text")
                .Value = DecryptText(e.Cookies("zxygxm"),"dcqzcg0528","dcqzcg0528")
                .Readonly = True
            End With
            With .AddInput("所在科室","所在部门","Text")
                For Each u As UserInfo In users
                    If u.Name = DecryptText(e.Cookies("zxygxm"),"dcqzcg0528","dcqzcg0528") Then
                        .Value = u.Group
                        .Readonly = True
                    End If
                Next
            End With
            .AddInput("请假事由","请假事由","Text").Value = dr("请假事由")
            .AddSelect("请假类型","请假类型","" & dr("请假类型") & "|公休假|事假|补休假|婚假|产假|补休上年度假期|病假|丧假")
            .AddInput("开始日期","开始日期","date").Value = dr("开始日期")
            With .AddInputCell("请假天数",1) '通过InputCell增加输入框
                .AddLabel("请假天数","请假天数",0) '增加标签,0显示在左边
                .AddInput("请假天数","number",1).Value = dr("请假天数")
                .AddLabel("ts","天",2)
            End With
            
            With .AddInput("开始时间","开始时间","time")
                .Value =   Format(dr("开始时间"),"HH:mm")
                .Min = "08:00"
                .Max = "18:00"
            End With
            With .AddInput("结束时间","结束时间","time")
                .value =  Format(dr("结束时间"),"HH:mm")
                .Min = "08:00" '输入的事件必须在8:00到12:00之间
                .Max = "18:00"
            End With
            .AddSwitch("提交申请","撤销申请",True).Value = False
            .AddSwitch("提交申请","确认申请",False).Value = True
        End With
        
        With wb.AddButtonGroup("form1","btg1",False)
            With .Add("btn1", "提交信息", "button")
                .Attribute= ""
                .Kind = 1
            End With
            .Add("btn2","退出申请","","/scqxjcd.htm").Kind = 1
        End With
        With wb.AddDialog("","dlg1", "提示","请销假记录修改成功!") '增加订单成功提示框
            .AddButton("btnYes","继续申请","/bjqxjmx.htm")  '  .Attribute = ""
            .AddButton("btnNo","返回查看","/scqxjcd.htm").Kind = 1
        End With
        With wb.AddDialog("","dlg2", "","") '增加订单失败提示框
            .AddButton("btnOK","确定")
        End With
        wb.AppendHTML("<script src='./lib/dhk.js'></script>") '引入脚本文件
    Else
        With wb.AddMsgPage("","msgpage","保存外出记录失败", "") '提示用户此订单不存在.
            .icon= "Warn"
            .AddButton("btn1","返回",PageURL) '生成返回原来页面的按钮
        End With
    End If
Else
    Dim dr As DataRow = DataTables("请销假登记").SQLFind("[_Identify]=" & PrimaryKey)
    If dr IsNot Nothing Then
        Dim nms() As String = {"姓名","所在科室","申请日期","请假事由","请假类型","开始日期","请假天数"} '不能为空的列名数组
        For Each nm As String In nms
            If e.PostValues.ContainsKey(nm) = False Then
                e.WriteString("<h3 align='center' style='margin-top:5px;color:Blue'> ""请输入:" & nm & "!"" </h3>")
                Return"" '必须返回
            End If
        Next
        
        Dim nm1s() As String = {"请假天数","开始时间","结束时间"} '不能为空的列名数组
        For Each nm1 As String In nm1s
            If cint(val(e.PostValues("请假天数")) / 0.5)<> val(e.PostValues("请假天数")) / 0.5 Then
                e.WriteString("<h3 align='center' style='margin-top:5px;color:Blue'> ""只能输入0.5的整数倍!"" </h3>")
                Return"" '必须返回               
            Else
                If e.PostValues("请假天数") Mod 1 > 0 Then
                    If e.PostValues.ContainsKey("开始时间") = False Then
                        e.WriteString("<h3 align='center' style='margin-top:5px;color:Blue'> ""请输入开始时间!"" </h3>")
                        Return"" '必须返回
                    ElseIf e.PostValues.ContainsKey("结束时间") = False Then
                        e.WriteString("<h3 align='center' style='margin-top:5px;color:Blue'> ""请输入结束时间!"" </h3>")
                        Return"" '必须返回
                    Else
                        If e.PostValues("开始时间") > e.PostValues("结束时间") Then
                            e.WriteString("<h3 align='center' style='margin-top:5px;color:Blue'> ""开始时间不能大于结束时间!"" </h3>")
                            Return ""
                        End If
                    End If
                Else
                    If e.PostValues("开始时间") IsNot Nothing Then
                        e.WriteString("<h3 align='center' style='margin-top:5px;color:Blue'> ""请清除开始时间!"" </h3>")
                        Return""
                    ElseIf e.PostValues("结束时间") IsNot Nothing Then
                        e.WriteString("<h3 align='center' style='margin-top:5px;color:Blue'> ""请清除结束时间!"" </h3>")
                        Return""
                    End If
                End If
            End If
        Next
        
        If e.PostValues.ContainsKey("提交申请") = False Then
            e.WriteString("<h3 align='center' style='margin-top:5px;color:Blue'> ""请确认:提交申请!"" </h3>")
            Return"" '必须返回
        End If
        
        Dim mms = New String() {"请假事由","请假类型","开始日期","请假天数","开始时间","结束时间","提交申请"}    '重新定义了nms数组,增加了两列
        For Each mm As String In mms
            If e.PostValues.ContainsKey(mm) Then
                dr(mm) = e.PostValues(mm)
            End If
        Next
        dr.Save()
        DataTables("请销假登记").Load()
        e.WriteString("OK") '返回增加成功消息
    Else
        With wb.AddMsgPage("","msgpage","保存外出记录失败!", "") '提示用户此订单不存在.
            .icon= "Warn"
            .AddButton("btn1","返回",PageURL) '生成返回原来页面的按钮
        End With
    End If
End If
e.WriteString(wb.Build)

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/9 8:48:00 [只看该作者]

判断控制,是这样处理的
 
        For Each nm As String In nms
            If e.PostValues.ContainsKey(nm) = False AndAlso e.PostValue(nm) = nothing Then
                e.WriteString("<h3 align='center' style='margin-top:5px;color:Blue'> ""请输入:" & nm & "!"" </h3>")
                Return"" '必须返回
            End If
        Next

 回到顶部