以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] 手机端传递空值 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=118693) |
-- 作者:zcgmxf -- 发布时间: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) |
-- 作者:有点甜 -- 发布时间: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
|