以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  移动开发中 怎么实现筛选出来的数据 直接赋值给文本框呢  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=137793)

--  作者:李孝春
--  发布时间:2019/7/15 23:47:00
--  移动开发中 怎么实现筛选出来的数据 直接赋值给文本框呢
移动开发中 怎么实现筛选出来的数据  直接赋值给文本框呢
如红色代码根据报修人员 报修编号 可以查找出报修摘要内容
怎么实现当报修人员 报修编号选择后,自动把报修摘要内容显示在黑色加粗部分上呢?


因代码上传限制,被和谐的代码参照图

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


代码如下:
Dim e As RequestEventArgs = args(0)
Dim wb As New weui
Select Case e.Path
    Case "baoxiuchuli.htm"
        If e.PostValues.Count = 0 Then
            wb.AddPageTitle("","ph1","【报修处理】录入")
            wb.AddForm("","form1","baoxiuchuli.htm")
            
            With wb.AddInputGroup("form1","ipg1","报修处理")
                .AddInput("处理时间","处理时间","date")
                
                With .AddSelect("报修人员","报修人员","|" & DataTables("故障报修").sqlGetComboListString("报修人员","是否处理=\'false\'"))
                    .Attribute = """
                End With
                
                With .AddSelect("报修编号","报修编号","")
                    .Attribute = """
                End With
                
                With .AddSelect("报修摘要","报修摘要","")
                    
                    With wb.AddInputGroup("form1","ipg44","报修情况说明")
                        .AddTextArea("报修摘要",5).Placeholder = ""
                    End With
                End With
                
                
                With wb.AddInputGroup("form1","ipg55","处理内容及处理说明")
                    .AddTextArea("处理内容",5).Placeholder = "请填写故障处理的具体内容 "
                    .AddSelect("处理结果","处理结果","|处理完毕|有待进一步处理|等待反馈结果")
                End With
                
                
                
                With wb.AddInputGroup("form1","ipg66","处理人员")
                    With .AddSelect("处理人员","处理人员","|" & DataTables("故障报修").sqlGetComboListString("处理人员","是否处理=\'false\'"))
                        
                    End With
                    .AddInput("运维人员","运维人员","text")
                    
                End With
            End With
            
            
            With wb.AddButtonGroup("form1","btg1",True)
                .Add("btn1", "确定", "submit")
            End With
            
            e.WriteString(wb.Build)
        Else
            Dim nms2 = New String() {"rdg1"}
            
            Dim nms() As String = {"处理时间","报修编号","报修人员","报修摘要","处理内容","处理结果","处理人员"} \'不能为空的列名数组
            For Each nm As String In nms
                If e.PostValues.ContainsKey(nm) = False Then \'生成错误提示页
                    With wb.AddMsgPage("","msgpage","增加失败", nm & "列不能为空!")
                        .icon = "Warn" \'改变图标
                        .AddButton("btn1","返回").Attribute = ""
                    End With
                    e.WriteString(wb.Build)
                    Return "" \' \'必须返回
                    
                End If
            Next
            nms = New String() {"处理编号","处理时间","报修时间","报修编号","报修内容","报修故障","报修人员","报修摘要","处理内容","处理结果","处理人员","运维人员","处理耗时","处理摘要"}  \'重新定义了nms数组,增加了两列.
            Dim dr As DataRow = DataTables("故障处理").AddNew()
            For Each nm As String In nms
                If e.PostValues.ContainsKey(nm) Then
                    dr(nm) = e.PostValues(nm)
                    dr("提交时间")=Date.now
                    
                End If
            Next
            For Each nm As String In nms2
                If e.PostValues.ContainsKey(nm) Then
                    dr(e.PostValues(nm)) = True
                End If
            Next
            
            If dr.IsNull("处理时间") Then
                dr("处理编号") = Nothing
            Else
                Dim bh As String = Format(dr("处理时间"),"yyyyMMdd") \'取得报修编号的8位前缀
                If dr("处理编号").StartsWith(bh) = False \'如果报修编号的前8位不符
                    Dim max As String
                    Dim idx As Integer
                    max = DataTables("故障处理").Compute("Max(处理编号)","处理时间 = #" & dr("处理时间") & "# And [_Identify] <> " & dr("_Identify")) \'取得该天的最大报修编号
                    If max > "" Then \'如果存在最大报修编号
                        idx = CInt(max.Substring(9,3)) + 1 \'获得最大报修编号的后三位顺序号,并加1
                    Else
                        idx = 1 \'否则顺序号等于1
                    End If
                    dr("处理编号") = bh & "-" & Format(idx,"000")
                End If
            End If            \'
            \'保存并生成增加成功提示页面
            dr("处理摘要")=  "[" & dr("报修人员") & "]同志于[" & dr("报修时间") & "]提出编号为[" & dr("报修编号")  & "]的故障报修,经[" & dr("处理人员") & "][" & dr("运维人员") & "]于[" & dr("处理时间") & "]采取[" & dr("处理内容") & "]后,[" & dr("处理结果") & "].请及时使用,若有疑问请报修."
            dr.save()
            With wb.AddMsgPage("","msgpage","增加成功", "好好学习,天天向上") \'生成成功提示页
                .AddButton("btn1","继续增加","baoxiuchuli.htm")
            End With
            
        End If
        wb.InsertHTML("<script>其它.parentNode.parentNode.style.display=\'none\'</script>")
        e.WriteString(wb.Build)
        
End Select
[此贴子已经被作者于2019/7/15 23:49:48编辑过]

--  作者:有点蓝
--  发布时间:2019/7/16 8:46:00
--  
参考:http://www.foxtable.com/mobilehelp/scr/0103.htm
--  作者:李孝春
--  发布时间:2019/7/16 9:54:00
--  回复:(有点蓝)参考:http://www.foxtable.com/mobi...
有点蓝老师 已经参照这个方法 把报修摘要查找出来了的
我现在就想把这个不用再次选择  而是直接赋值给文本框  显示出来

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


--  作者:有点蓝
--  发布时间:2019/7/16 10:17:00
--  
帮助不就是这样用的吗,把区号和邮编一次性就查出来然后给2个控件赋值了。

要给多个个文本框赋值,就一次性返回这些数据进行赋值即可

--  作者:李孝春
--  发布时间:2019/7/16 11:46:00
--  回复:(有点蓝)帮助不就是这样用的吗,把区号和邮编...
还是不行  附上全部代码  麻烦啊老师看看啊
表字段

故障报修

 

报修时间() ----> 日期型

报修编号() ----> 字符型(100)

报修部门() ----> 字符型(100)

报修人员() ----> 字符型(100)

联系电话() ----> 字符型(100)

报修类别() ----> 字符型(100)

报修分类() ----> 字符型(100)

报修内容() ----> 字符型(255)

报修故障() ----> 字符型(255)

是否加急() ----> 逻辑型

处理人员() ----> 字符型(100)

处理电话() ----> 字符型(100)

所属网络() ----> 字符型(100)

报修提交时间() ----> 日期型

是否处理() ----> 逻辑型

处理内容() ----> 字符型(255)

处理结果() ----> 字符型(100)

处理时间() ----> 日期型

处理耗时() ----> 双精度小数

报修摘要() ----> 字符型(1073741823)

处理摘要() ----> 字符型(1073741823)

处理提交时间() ----> 日期型

 

故障处理

 

处理编号() ----> 字符型(16)

处理时间() ----> 日期型

报修时间() ----> 日期型

报修编号() ----> 字符型(100)

报修内容() ----> 字符型(255)

报修故障() ----> 字符型(255)

报修人员() ----> 字符型(100)

报修摘要() ----> 字符型(1073741823)

处理内容() ----> 字符型(255)

处理结果() ----> 字符型(255)

处理人员() ----> 字符型(100)

运维人员() ----> 字符型(100)

处理耗时() ----> 双精度小数

处理摘要() ----> 字符型(1073741823)

处理提交时间() ----> 日期型

报修提交时间() ----> 日期型


代码一:
Dim e As RequestEventArgs = args(0)
Dim wb As New weui
Select Case e.Path 
    Case  "getCodes.htm"
      Dim dr As DataRow = DataTables("故障报修").Find("报修人员=\'" & e.Values("报修人员") & "\' and 报修编号=\'" & e.values("报修编号") & "\'")
        If dr IsNot Nothing Then
            e.WriteString(dr("报修摘要") & "|" & dr("报修提交时间"))
        End If       
End Select

代码二:
Dim e As RequestEventArgs = args(0)
Dim wb As New weui
Select Case e.Path 
    Case  "getCounties.htm"
Dim pps As String = DataTables("故障报修").GetComboListString("报修人员","是否处理=\'false\'")
        e.WriteString("|" & pps)    
End Select

代码三:
function setCodes(){
    var result= submitAjaxFileds(\'getCodes.htm\',\'\',\'报修人员\',\'报修编号\',false);
    if(result){
        var vals=result.split("|");
        if(vals.length==2){
            document.getElementById("报修摘要").value=vals[0];
            document.getElementById("报修提交时间").value=vals[1];
        }
    }
}


代码四:
Dim e As RequestEventArgs = args(0)
Dim wb As New weui
Select Case e.Path
    Case "baoxiuchuli.htm"
        If e.PostValues.Count = 0 Then
            wb.AddPageTitle("","ph1","【报修处理】录入")
            wb.AddForm("","form1","baoxiuchuli.htm")
            
            With wb.AddInputGroup("form1","ipg1","报修处理")
                .AddInput("处理时间","处理时间","date")
                

此主题相关图片如下:222.png
按此在新窗口浏览图片

                .AddInput("报修摘要","报修摘要","text")
                .AddInput("报修提交时间","报修提交时间","text")

                \'With .AddSelect("报修摘要","报修摘要","text")
                \'With wb.AddInputGroup("form1","ipg44","报修情况说明")
                \'.AddTextArea("报修摘要",5).Placeholder = ""
                \'End With
                \'End With           
                
                With wb.AddInputGroup("form1","ipg55","处理内容及处理说明")
                    .AddTextArea("处理内容",5).Placeholder = "请填写故障处理的具体内容 "
                    .AddSelect("处理结果","处理结果","|处理完毕|有待进一步处理|等待反馈结果")
                End With
                       
                With wb.AddInputGroup("form1","ipg66","处理人员")
                    With .AddSelect("处理人员","处理人员","|" & DataTables("故障报修").sqlGetComboListString("处理人员","是否处理=\'false\'"))   
                    End With
                    .AddInput("运维人员","运维人员","text") 
                End With
            End With
            
            
            With wb.AddButtonGroup("form1","btg1",True)
                .Add("btn1", "确定", "submit")
            End With
            
            e.WriteString(wb.Build)
        Else
            Dim nms2 = New String() {"rdg1"}
            
            Dim nms() As String = {"处理时间","报修编号","报修人员","报修摘要","处理内容","处理结果","处理人员"} \'不能为空的列名数组
            For Each nm As String In nms
                If e.PostValues.ContainsKey(nm) = False Then \'生成错误提示页
                    With wb.AddMsgPage("","msgpage","增加失败", nm & "列不能为空!")
                        .icon = "Warn" \'改变图标
                        .AddButton("btn1","返回").Attribute = ""
                    End With
                    e.WriteString(wb.Build)
                    Return "" \' \'必须返回
                    
                End If
            Next
            nms = New String() {"处理编号","处理时间","报修时间","报修编号","报修内容","报修故障","报修人员","报修摘要","处理内容","处理结果","处理人员","运维人员","处理耗时","处理摘要","处理提交时间"}  \'重新定义了nms数组,增加了两列.
            Dim dr As DataRow = DataTables("故障处理").AddNew()
            For Each nm As String In nms
                If e.PostValues.ContainsKey(nm) Then
                    dr(nm) = e.PostValues(nm)
                    
                End If
            Next
            For Each nm As String In nms2
                If e.PostValues.ContainsKey(nm) Then
                    dr(e.PostValues(nm)) = True
                End If
            Next
            
            
            Dim cmd As New SQLCommand
            Dim dt As Date
            cmd.C
            \'cmd.CommandText = "Select GetDate()"
            cmd.CommandText = "Select CONVERT(varchar(100), GETDATE(), 20)"
            dt = cmd.ExecuteScalar()
            dr("处理提交时间")=dt           
            messagebox.show(dt)
            messagebox.show(Cdate(dt))          
            \'cstr(dt)
            MessageBox.Show(dt & "左边是服务器时间,后边是写入表时间" & dr("处理提交时间"))
            If dr.IsNull("处理时间") Then
                dr("处理编号") = Nothing
            Else
                Dim bh As String = Format(dr("处理时间"),"yyyyMMdd") \'取得报修编号的8位前缀
                If dr("处理编号").StartsWith(bh) = False \'如果报修编号的前8位不符
                    Dim max As String
                    Dim idx As Integer
                    max = DataTables("故障处理").Compute("Max(处理编号)","处理时间 = #" & dr("处理时间") & "# And [_Identify] <> " & dr("_Identify")) \'取得该天的最大报修编号
                    If max > "" Then \'如果存在最大报修编号
                        idx = CInt(max.Substring(9,3)) + 1 \'获得最大报修编号的后三位顺序号,并加1
                    Else
                        idx = 1 \'否则顺序号等于1
                    End If
                    dr("处理编号") = bh & "-" & Format(idx,"000")
                End If
            End If            \'
            \'保存并生成增加成功提示页面
            dr("处理摘要")=  "[" & dr("报修人员") & "]同志于[" & dr("报修时间") & "]提出编号为[" & dr("报修编号")  & "]的故障报修,经[" & dr("处理人员") & "][" & dr("运维人员") & "]于[" & dr("处理时间") & "]采取[" & dr("处理内容") & "]后,[" & dr("处理结果") & "].请及时使用,若有疑问请报修."
            
            If dr.IsNull("报修提交时间") Or dr.IsNull("处理提交时间") Then
                dr("处理耗时") = Nothing
            Else
                Dim tp As TimeSpan
                tp = dr("处理提交时间") - dr("报修提交时间")
                dr("处理耗时") = tp.TotalSeconds() \'真正的时段型数据要转换为秒数,才能存入时段列
            End If
            dr.save()
            With wb.AddMsgPage("","msgpage","增加成功", "好好学习,天天向上") \'生成成功提示页
                .AddButton("btn1","继续增加","baoxiuchuli.htm")
            End With
            
        End If
        wb.InsertHTML("<script>其它.parentNode.parentNode.style.display=\'none\'</script>")
        wb.AppendHTML("<script src=\'./lib/ajaxform.js\'></script>") \'引入脚本文件
        e.WriteString(wb.Build)
        
        
End Select
[此贴子已经被作者于2019/7/16 11:48:09编辑过]

--  作者:有点蓝
--  发布时间:2019/7/16 11:56:00
--  
代码三:
function setCodes(){
    var result= submitAjaxFileds(\'getCodes.htm\',\'\',\'报修人员\',\'报修编号\',false);
alert(result); //这里显示什么内容
    if(result){
        var vals=result.split("|");
        if(vals.length==2){
            document.getElementById("报修摘要").value=vals[0];
            document.getElementById("报修提交时间").value=vals[1];
        }
    }
}

--  作者:李孝春
--  发布时间:2019/7/16 14:55:00
--  回复:(有点蓝)代码三:function setCodes(){ ...
居然没有任何提示图片点击可在新窗口打开查看
--  作者:有点蓝
--  发布时间:2019/7/16 14:59:00
--  
这里呢

代码一:
Dim e As RequestEventArgs = args(0)
Dim wb As New weui
Select Case e.Path 
    Case  "getCodes.htm"
msgbox(e.Values("报修人员") )
      Dim dr As DataRow = DataTables("故障报修").Find("报修人员=\'" & e.Values("报修人员") & "\' and 报修编号=\'" & e.values("报修编号") & "\'")
        If dr IsNot Nothing Then
msgbox(dr("报修摘要") )
            e.WriteString(dr("报修摘要") & "|" & dr("报修提交时间"))
        End If       
End Select

--  作者:李孝春
--  发布时间:2019/7/16 15:38:00
--  回复:(有点蓝)这里呢代码一:Dim e As RequestEven...
还是没有反应  
--  作者:有点蓝
--  发布时间:2019/7/16 15:49:00
--  
没有反应是提示框弹不出,还是没有值