Foxtable(狐表)用户栏目专家坐堂 → 移动开发,如何获取当前页某控件的值?


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

主题:移动开发,如何获取当前页某控件的值?

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


加好友 发短信
等级:六尾狐 帖子:1228 积分:8561 威望:0 精华:0 注册:2016/2/2 21:52:00
移动开发,如何获取当前页某控件的值?  发帖心情 Post By:2019/1/2 10:07:00 [只看该作者]

如下代码:
Dim e As RequestEventArgs = args(0)
Dim wb As New weui

   
     wb.AddForm("","form1","CheckPd.htm")  ' .Attribute=""        ' 由CheckPd接收提交的数据


   With wb.AddInputGroup("form1","ipg1","设备资料")
        .AddInput("AssetNumber","资产编号","Text")       '前一个"AssetNumber"是ID,后一个"资产编号"是标题
   End With


  With wb.AddButtonGroup("form1","btg1",True)
        .Add("btn1","确定","button").Attribute=""           'button千万不能写成submit,否则就会造成数据提交两遍
   End With



'存在重复盘点记录时,给出是否重新盘点的提示.
    With wb.AddDialog("","dlg4", "重新盘点确认","您确定要对当前设备重新盘点吗?")
            .AddButton("btnCancel","取消").Kind = 1
            .AddButton("btnOK","确定","./CheckPd.htm?AssetNumber=" & AssetNumber.value )                '在此处想把控件ASsetNumber 的值做为get参数传递给下一页,请问要怎么获取用户输入的AssetNumber值??
    End With

    wb.AppendHTML("<script src='./ajax/libs/pdScan.js'></script>")   '引入脚本文件               
    e.WriteString(wb.Build)
[此贴子已经被作者于2019/1/2 10:07:47编辑过]

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


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

绑定onclick事件,执行js,获取值,然后跳转到新的网页

 

location = "/CheckPd.htm?AssetNumber=" + AssetNumber.value

[此贴子已经被作者于2019/1/2 12:37:09编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1228 积分:8561 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2019/1/2 14:38:00 [只看该作者]

老师,你可能没注意我的代码,流程是这样的,用户先输一个assetnumber,程序进行判断,如果已经存在这个号码了,则弹出dlg4,如果不存在,才直接跳转,如果绑定js,好像就实现不了这样的功能,我改成下面这样了,结果不行:
Dim e As RequestEventArgs = args(0)
Dim wb As New weui

   
   ' wb.AddForm("","form1","CheckPd.htm").Attribute=""       'checkpd.htm 是接收结果的页面
     wb.AddForm("","form1","CheckPd.htm")   '.Attribute=""        ' 由CheckPd接收提交的数据


   With wb.AddInputGroup("form1","ipg1","设备资料")
        .AddInput("AssetNumber","资产编号","Text")       '前一个"AssetNumber"是ID,后一个"资产编号"是标题
   End With


   With wb.AddButtonGroup("form1","btg1",True)
        .Add("btn1","确定","button").Attribute=""         'button千万不能写成submit,否则就会造成数据提交两遍
       '  .Add("btnOK","继续","./CheckPd.htm?AssetNumber=" & "172.16.5.1" )
   End With


'存在重复盘点记录时,给出是否重新盘点的提示.
    With wb.AddDialog("","dlg4", "重新盘点确认","您确定要对当前设备重新盘点吗?")
            .AddButton("btnCancel","取消").Kind = 1
            .AddButton("btnOK","继续","./CheckPd.htm?AssetNumber=" & e.Cookies("AssetNumber") )
    End With

 
    wb.AppendHTML("<script src='./ajax/libs/pdScan.js'></script>")   '引入脚本文件              
    e.WriteString(wb.Build)



pdscan.js 代码如下:

//发送JSON对象
function pdScanFunction()
{
    var result = submitAjaxForm('form1','',false);        //false  表示同步执行
//如果正确跳出验证对话框,确定后转目标网页     如果不正确,则跳出对话框停留在该页。 
     if (result =='exist')    //查到重复盘点记录
        {
          showDialog('dlg4','!!!警告!!!','发现存在重复盘点记录!');       
       // show('dlg4')
         return false;
        }
     else    //可以正常记录盘点结果
        {
        // showDialog('dlg3'); 
        // document.getElementById("p1").innerHTML=result;     //在P1位置显示各字段内容
         return true;
        }

}


function pdJumpFunction()
{
        location = "/CheckPd.htm?AssetNumber=" + AssetNumber.value;
}

[此贴子已经被作者于2019/1/2 14:43:43编辑过]

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


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

【确定】按钮,绑定onclick事件,然后里面js代码,用2楼,或者调用pdJumpFunction函数。


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


加好友 发短信
等级:六尾狐 帖子:1228 积分:8561 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2019/1/2 15:36:00 [只看该作者]

问题一:
按照老师说的,改了一下,现在点击按钮是正常的了,但是输入完后回车    直接跳转到“不存在数据”的新页面, 回车和点击按钮,能做成同样的效果吗?

Dim e As RequestEventArgs = args(0)
Dim wb As New weui

   
   ' wb.AddForm("","form1","CheckPd.htm").Attribute=""       'checkpd.htm 是接收结果的页面
     wb.AddForm("","form1","CheckPd.htm")       '.Attribute=""        ' 由CheckPd接收提交的数据


   With wb.AddInputGroup("form1","ipg1","设备资料")
        .AddInput("AssetNumber","资产编号","Text")       '前一个"AssetNumber"是ID,后一个"资产编号"是标题
   End With


   With wb.AddButtonGroup("form1","btg1",True)
        .Add("btnOK","确定","button").Attribute=""         'button千万不能写成submit,否则就会造成数据提交两遍
        '.Add("btnOK","继续","./CheckPd.htm?AssetNumber=" & "172.16.5.1" )
   End With


'存在重复盘点记录时,给出是否重新盘点的提示.
    With wb.AddDialog("","dlg4", "重新盘点确认","您确定要对当前设备重新盘点吗?")
            .AddButton("btnCancel","取消").Kind = 1
            .AddButton("btnOK","继续","./CheckPd.htm?AssetNumber=" & e.Cookies("AssetNumber") )
          '  .AddButton("btnOK","继续","./CheckPd.htm?AssetNumber=" & "'pdJumpFunction()'" )
    End With

 
    wb.AppendHTML("<script src='./ajax/libs/pdScan.js'></script>")   '引入脚本文件        
   ' wb.AppendHTML("<script src='./ajax/libs/pdJump.js'></script>")   '引入脚本文件          
    e.WriteString(wb.Build)


checkpd.htm 代码如下:
Dim e As RequestEventArgs = args(0)
Dim wb As New weui
'wb.InsertHTML("<div data-theme='g' data-role='page' data-position='fixed'>")      '页内容样式 
wb.AppendHTML("<script src='./ajax/libs/pdResult.js'></script>")   '引入脚本文件        


'msgbox(e.PostValues("AssetNumber"))
'msgbox(e.Cookies("AssetNumber"))  弹出为空的值


If e.PostValues.ContainsKey("AssetNumber") Then
      ' msgbox(e.PostValues("AssetNumber"))   '能弹出172.16.5.1
       e.AppendCookie("AssetNumber",e.PostValues("AssetNumber"))    '增加cookie
       Dim dr As DataRow= DataTables("盘点记录").SQLFind("资产编号 = '" & e.PostValues("AssetNumber") &  "'")             
       If dr IsNot Nothing Then   '如果存在重复盘点记录的话    
'msgbox(e.PostValues("AssetNumber"))
            e.WriteString("exist") 
       Else      '如果不存在重复记录的话,则直接把 AssetNumber带着跳转到  CheckPd 页面          
                 ' wb.InsertHTML("<meta http-equiv='Refresh' c>")    '没有找到该记录则直接跳转到显示结果的页面                 
            e.WriteString(e.PostValues("AssetNumber"))                 
       End If

End If


If e.GetValues.ContainsKey("AssetNumber") Then
          'msgbox(e.GetValues("AssetNumber"))   '能弹出172.16.5.1
                wb.DeleteCookie("AssetNumer")   '删除cookie
                Dim dr1 As DataRow= DataTables("资产管理表").SQLFind("IP地址 = '" & e.GetValues("AssetNumber") &  "'")    
                If dr1 IsNot Nothing Then    '如果资产管理表中有此资产编号对应的资料               
                    
                      wb.AddForm("","form1","PdResult.htm")
                      With wb.AddInputGroup("form1","ipg1","请核对资料")
                        .AddInput("zcmc","资产名称","text").Value=dr1("资产名称")
                        .AddInput("zcgs","资产归属","text").Value=dr1("资产归属")
                        .AddInput("cgxm","采购项目","text").Value=dr1("采购项目")
                       ' .AddInput("pw","密码","password")
                      End With


                      With wb.AddButtonGroup("","btg1", False)    '水平排列的两个按钮  分组号为btg2
                           .Add("btnOK","显示正确").Attribute = ""
                           .Add("btnWrong","显示错误").Attribute = ""
 
                      End With
                        e.WriteString(wb.Build)

                 Else 
                        e.WriteString("不存在数据!")
                 End If


End If


问题二:
如何在打开 pdscan.htm  后,自动把焦点转置   文本输入框上面?


[此贴子已经被作者于2019/1/2 15:58:36编辑过]

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


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

1、你输入值以后,按下回车,触发了哪个按钮的事件?你页面里有submit按钮?或者其余的事件?请做一个对一个例子发上来测试。全部文件都要打包在一起才能测试。

 

不然,请单独做一个可以简易测试的实例发上来测试。

 

2、如

 

Select Case e.Path
    Case "test.htm", ""
Dim wb As New weui
        wb.AddForm("","form1","test.htm")
        With wb.AddInputGroup("form1","ipg1","基本资料")
            .AddInput("xm","姓名","text") '常规语法增加输入框
            With .AddInputCell("ic1") '通过InputCell增加输入框
                .AddLabel("lnl","年龄",0) '增加标签,0显示在左边
                .AddInput("nl","number",1) '增加输入框,1表示显示在中间
            End With
        End With
wb.InsertHTML("<script>xm.focus();</script>")
        e.WriteString(wb.Build) '生成网页
End Select


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


加好友 发短信
等级:六尾狐 帖子:1228 积分:8561 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2019/1/2 16:31:00 [只看该作者]

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


除了数据库,都在上面了,数据库太大了,就用到两张表,表结构如下:


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



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


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


加好友 发短信
等级:六尾狐 帖子:1228 积分:8561 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2019/1/2 16:32:00 [只看该作者]

总共页面上就一个按钮,不会有别的按钮被触发吧

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


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

改成

 

        With wb.AddInputGroup("form1","ipg1","设备资料")
            .AddInput("AssetNumber","资产编号","Text")       '前一个"AssetNumber"是ID,后一个"资产编号"是标题
            .AddHidenValue("test","test")  
        End With

 

当form表单中只有一个<input>时按回车键将会自动将表单提交


       


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


加好友 发短信
等级:六尾狐 帖子:1228 积分:8561 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2019/1/2 17:25:00 [只看该作者]

另一个问题,我的pdResult.js 的代码如下: 但是 document.getElementById('zcmc').value   获取到的值是乱码,这是怎么回事?

function right(){
      location="pdResult.htm?pdResult=" + "right" + "&zcmc=" + document.getElementById('zcmc').value;
   //location="pdResult.htm?pdResult=" + "right" + "&zcmc=" + zcmc.value;
   //document.getElementById('dj').value
   //location="list.htm?page=" + table1.pagenumber + "&deloid=" + table1.primarykey; 
   //location="pdResult.htm?pdResult=" + "right";
}

[此贴子已经被作者于2019/1/2 20:56:28编辑过]

 回到顶部
总数 49 1 2 3 4 5 下一页