Foxtable(狐表)用户栏目专家坐堂 → 移动开发自动输入问题


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

主题:移动开发自动输入问题

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


加好友 发短信
等级:童狐 帖子:273 积分:2363 威望:0 精华:0 注册:2015/12/11 4:29:00
移动开发自动输入问题  发帖心情 Post By:2019/4/17 21:47:00 [只看该作者]

移动开发中用WeUI框架
目的:在输入订单编号后,自动提取产品名称与订单数量.现在没反应请老师看下问题在哪?

ajaxform.js 文件代码如下

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];
        }
    }
}


HttpRequest事件代码:
Select Case e.Path
    Case "list.htm",""
        Functions.Execute("List",e)
    Case "addnew.htm"
        Functions.Execute("AddNew",e)
    Case "edit.htm"
        Functions.Execute("Edit",e)
    Case "delete.htm"
        Functions.Execute("Delete",e)
    Case "getCodes.htm" '获取产品名称自动输入用
        Functions.Execute("getCodes",e)
End Select


页面 定义了 内部函数  getCodes 
Dim e As RequestEventArgs = args(0)
Dim dr As DataRow = DataTables("订单表").SQLFind("订单表序号='R" & e.Values("province") & "'")
If dr IsNot Nothing Then
    e.WriteString(dr("产品名称") & "|" & dr("订单数量"))
End If


页面定义了内部函数 AddNew
Dim e As RequestEventArgs = args(0)
Dim wb As New weui
If e.PostValues.Count = 0 Then '生成增加订单网页
    wb.AddForm("","form1","addnew.htm")
    With wb.AddInputGroup("form1","ipg1","增加报表")
        Dim gjs1 As List(of String) = DataTables("员工资料表").GetValues("姓名","绩效工资= true","部门 desc")
            .AddSelect("姓名","姓名","|" & String.Join("|",gjs1.ToArray))'.Attribute = ""  '调用js函数.
        Dim gjs As List(of String) = DataTables("员工资料表").GetValues("设备","排计划= true","序号")
            .AddSelect("机台","机台","|" & String.Join("|",gjs.ToArray))'.Attribute = ""  '调用js函数.                
            .AddInput("订单编号","订单编号R","number") .Attribute = "" '调用js函数

            .AddInput("产品","产品","text") ' 要自动输入产品名称 用于核对  现在不自动填入
            .AddInput("订单数量","订单数量","number") '要自动输入订单数量用于提示   现在不自动填入

        .AddInput("工序","工序","text")
        .AddInput("机器时间","机器时间","time")
        .AddInput("单次数量生产","单次数量生产","number")
        .AddInput("起始时间","起始时间","datetime-local")
        .AddInput("结束时间","结束时间","datetime-local")
        .AddInput("实际产量","实际产量","number")
'
'
        '.AddInput("单价","单价","number").Step="0.01"
        '.AddInput("日期","日期","date")
    End With
    With wb.AddButtonGroup("form1","btg1",True)
        .Add("btn1", "确定", "submit")
    End With
Else '保存新增的订单
    Dim dr As DataRow = DataTables("生产日报表").AddNew()
    Dim nms() As String = {"姓名","机台","订单编号","工序","机器时间","单次数量生产","起始时间","结束时间","实际产量"}
    For Each nm As String In nms
        dr(nm) = e.PostValues(nm)
    Next
    dr.Save()
    With wb.AddMsgPage("","msgpage","增加成功", "谢谢提交,请领取打印标签") '增加订单成功提示信息
        .AddButton("btn1","继续增加","addnew.htm")
        .AddButton("btn1","返回列表","list.htm") 
    End With
End If
wb.AppendHTML("<script src='./lib/ajaxform.js'></script>") '引入脚本文件
e.WriteString(wb.Build) '生成网页








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


加好友 发短信
等级:童狐 帖子:273 积分:2363 威望:0 精华:0 注册:2015/12/11 4:29:00
  发帖心情 Post By:2019/4/17 21:57:00 [只看该作者]


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

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


加好友 发短信
等级:童狐 帖子:273 积分:2363 威望:0 精华:0 注册:2015/12/11 4:29:00
  发帖心情 Post By:2019/4/17 22:00:00 [只看该作者]

谢谢,已找到问题点


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


加好友 发短信
等级:童狐 帖子:273 积分:2363 威望:0 精华:0 注册:2015/12/11 4:29:00
  发帖心情 Post By:2019/4/17 22:52:00 [只看该作者]


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


工序的项目列表有问题,不显示
HttpRequest事件代码
Select Case e.Path
    Case "list.htm",""
        Functions.Execute("List",e)
    Case "addnew.htm"
        Functions.Execute("AddNew",e)
    Case "edit.htm"
        Functions.Execute("Edit",e)
    Case "delete.htm"
        Functions.Execute("Delete",e)
    Case "getCodes.htm" '获取产品名称自动输入用
        Functions.Execute("getCodes",e)

    Case "getBrands.htm" '获取工序名称项目列表   不显示出来
        Functions.Execute("getBrands",e)
End Select


页面 定义 内部函数  getBrands
Dim e As RequestEventArgs = args(0)
Dim pps As String = DataTables("产品工艺流程表").SQLGetComboListString("工艺流程名称","产品名称='" & e.Values("产品") & "'","顺序" )
e.WriteString(pps)

页面定义 内部函数 AddNew
Dim e As RequestEventArgs = args(0)
Dim wb As New weui
If e.PostValues.Count = 0 Then '生成增加订单网页
    wb.AddForm("","form1","addnew.htm")
    With wb.AddInputGroup("form1","ipg1","增加报表")
        Dim gjs1 As List(of String) = DataTables("员工资料表").GetValues("姓名","绩效工资= true","部门 desc")
            .AddSelect("姓名","姓名","|" & String.Join("|",gjs1.ToArray))'.Attribute = ""  '调用js函数.
        Dim gjs As List(of String) = DataTables("员工资料表").GetValues("设备","排计划= true","序号")
            .AddSelect("机台","机台","|" & String.Join("|",gjs.ToArray))'.Attribute = ""  '调用js函数.                
            .AddInput("订单编号","订单编号R","number") .Attribute = "" '调用js函数
            .AddInput("订单数量","订单数量","number") '自动输入订单数量
            
            With .AddInput("产品","产品","") 
            .Attribute = """ '自动输入名称后生成工序的项目列表, onchange等于 =""引号 setAjaxOptions 括号('工序','getBrands.htm','产品',false)  论坛显示不出来

            End With        
           .AddSelect("工序","工序","")     '没有项目列表出来
      
        .AddInput("机器时间","机器时间","time")
        .AddInput("单次数量生产","单次数量生产","number")
        .AddInput("起始时间","起始时间","datetime-local")
        .AddInput("结束时间","结束时间","datetime-local")
        .AddInput("实际产量","实际产量","number")
'
'
        '.AddInput("单价","单价","number").Step="0.01"
        '.AddInput("日期","日期","date")
    End With
    With wb.AddButtonGroup("form1","btg1",True)
        .Add("btn1", "确定", "submit")
    End With
Else '保存新增的订单
    Dim dr As DataRow = DataTables("生产日报表").AddNew()
    Dim nms() As String = {"姓名","机台","订单编号","工序","机器时间","单次数量生产","起始时间","结束时间","实际产量"}
    For Each nm As String In nms
        dr(nm) = e.PostValues(nm)
    Next
    dr.Save()
    With wb.AddMsgPage("","msgpage","增加成功", "谢谢提交,请领取打印标签") '增加订单成功提示信息
        .AddButton("btn1","继续增加","addnew.htm")
        .AddButton("btn1","返回列表","list.htm") 
    End With
End If
wb.AppendHTML("<script src='./lib/ajaxform.js'></script>") '引入脚本文件
e.WriteString(wb.Build) '生成网页



[此贴子已经被作者于2019/4/17 23:05:14编辑过]

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


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

加入msgbox弹出值看一下

 

Dim e As RequestEventArgs = args(0)
Dim pps As String = DataTables("产品工艺流程表").SQLGetComboListString("工艺流程名称","产品名称='" & e.Values("产品") & "'","顺序" )
msgbox(pps)
e.WriteString(pps)

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


加好友 发短信
等级:童狐 帖子:273 积分:2363 威望:0 精华:0 注册:2015/12/11 4:29:00
  发帖心情 Post By:2019/4/18 8:53:00 [只看该作者]

没有弹出?为何不会触发呢?
是自动填入的数据所以不会触发么?如果要在"订单编号"里发生改变时生成工序的自动列表要怎么改写代码呢,谢谢老师
   .Add Input("订单编号","订单编号R","number") .Attribute = "on change等于='set Codes()'" '调用js函数           '孔格是故意多打出来的
   .Attribute = "on change=""set Ajax Options('工序','getBrands.htm','产品',false)""" '自动输入名称后生成工序的项目列表,
[此贴子已经被作者于2019/4/18 9:06:43编辑过]

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


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

1、浏览器调试那里,看control那里是否报错,看network是否正常发送了请求。

 

2、如果正常发送了请求切不报错,在你httprequest事件那里,加入msgbox追踪一下执行到了哪里。


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


加好友 发短信
等级:童狐 帖子:273 积分:2363 威望:0 精华:0 注册:2015/12/11 4:29:00
  发帖心情 Post By:2019/4/18 12:36:00 [只看该作者]


此主题相关图片如下:03.png
按此在新窗口浏览图片
在"订单编号"里发生改变时 同时填入产品名称  并  生成工序的自动列表要怎么改写代码呢,
此主题相关图片如下:04.png
按此在新窗口浏览图片
   .Add Input("订单编号","订单编号R","number") .Attribute = "on change等于='set Codes()'" '调用js函数           '孔格是故意多打出来的
   .Attribute = "on change=""set Ajax Options('工序','getBrands.htm','产品',false)""" '自动输入名称后生成工序的项目列表,
测试了,只会触发后面一条代码,要同时触发要怎么写

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


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

写在一起,如

 

onchange=""函数1(); 函数2(); alert(123);""

[此贴子已经被作者于2019/4/18 12:38:58编辑过]

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


加好友 发短信
等级:童狐 帖子:273 积分:2363 威望:0 精华:0 注册:2015/12/11 4:29:00
  发帖心情 Post By:2019/4/18 13:56:00 [只看该作者]

还是只能运行1个,是js文件代码也要改么?

现在ajaxform.js 代码如下
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];
        }
    }
}
[此贴子已经被作者于2019/4/18 13:57:55编辑过]

 回到顶部
总数 16 1 2 下一页