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


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

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

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


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

pdscan.htm  代码改成如下:

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,后一个"资产编号"是标题 
        .AddInput("AssetNumber","资产编号","Text").Attribute="" 
        .AddHidenValue("test","test") 
   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.InsertHTML("<script>assetnumber.focus(); </script>")
    wb.AppendHTML("<script src='./ajax/libs/pdScan.js'></script>")   '引入脚本文件     
   ' wb.AppendHTML("<script src='./ajax/libs/pdJump.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;            //停止执行,返回false
        }
     else      //可以正常记录盘点结果
        {
         location = "/CheckPd.htm?AssetNumber=" + result;
        return true;
        }

}


function InputEnter()
{

   var keynum
   var keychar
   var numcheck

if(window.event)   // IE
{
keynum = e.keyCode
}
else if(e.which)     // Netscape/Firefox/Opera
{
keynum = e.which
}
                                         //keychar = String.fromCharCode(keynum)
   if (keynum=='13')
   {
       var result = submitAjaxForm('form1','',false);        //false  表示同步执行
      //如果正确跳出验证对话框,确定后转目标网页     如果不正确,则跳出对话框停留在该页。 
     if (result =='exist')      //查到重复盘点记录
        {
          showDialog('dlg4','!!!警告!!!','发现存在重复盘点记录!');       
       // show('dlg4')
         return false;            //停止执行,返回false
        }
     else      //可以正常记录盘点结果
        {
         location = "/CheckPd.htm?AssetNumber=" + result;
        return true;
        }
   }


但按回车似乎没反应啊,哪里写错了?
[此贴子已经被作者于2019/1/3 16:13:51编辑过]

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


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

1、

 

 .AddInput("AssetNumber","资产编号","Text").Attribute="onkeydown='InputEnter(event)'"   

 

2、

 

function InputEnter(e)
{

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


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

老师帮忙看看吧,实在搞不定了,现在敲回车就跳转到新页面显示输入的内容,而且点击按钮也没有反应了。

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


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



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


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

没有数据库无法测试啊。看懂代码啊。

 

Select Case e.Path
    Case "test.htm", ""
        Dim wb As New weui
       
        wb.AddForm("","form1","CheckPd.htm")
       
       
        With wb.AddInputGroup("form1","ipg1","设备资料")
            .AddInput("AssetNumber","资产编号","Text").Attribute="onkeydown=""alert(event.which);if(event.which==13){alert('输入了回车')}"""      '前一个"AssetNumber"是ID,后一个"资产编号"是标题
            .AddHidenValue("test","test")
        End With
       
       
        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btnOK","确定","button").Attribute=""         'button千万不能写成submit,否则就会造成数据提交两遍
        End With
       
        e.WriteString(wb.Build) '生成网页
End Select


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


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

现在pdscan.js  代码是这样的:


//发送JSON对象
function pdScanFunction()
{
    var result = submitAjaxForm('form1','',false);        //false  表示同步执行
//如果正确跳出验证对话框,确定后转目标网页     如果不正确,则跳出对话框停留在该页。 
     if (result =='exist')      //查到重复盘点记录
        {
          showDialog('dlg4','!!!警告!!!','发现存在重复盘点记录!');       
       // show('dlg4')
         return false;            //停止执行,返回false
        }
     else      //跳转到核对盘点结果的页面    
        {
        // location = "/CheckPd.htm?AssetNumber=" + result;
        location=result;       ->现在result的值是  e.WriteString("<meta http-equiv='Refresh' c>")  
        return true;
        }

}

问题是我怎么把result 值中的这段乱码转为正常的值,并且把 AssetNumber 参数的值截出来?
%3Cmeta%20http-equiv='Refresh'%20content='0;%20url=/CheckPd.htm?AssetNumber=172.16.5.4%27%3E

[此贴子已经被作者于2019/1/3 17:18:45编辑过]

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


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

查了一下,  类似%27%3E   是URL编码表的 '>号,问题是怎么把它们转换为正常的字符并截取出AssetNumber参数来呢?

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


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

以下是引用ycwk在2019/1/3 17:12:00的发言:

 
问题是我怎么把result 值中的这段乱码转为正常的值,并且把 AssetNumber 参数的值截出来?
%3Cmeta%20http-equiv='Refresh'%20content='0;%20url=/CheckPd.htm?AssetNumber=172.16.5.4%27%3E

[此贴子已经被作者于2019/1/3 17:18:45编辑过]

 

访问你后台的代码之后,你最后应该返回一个地址或者exist的内容才对吧?比如

 

e.writestring("exist")

 

或者

 

e.writestring("具体的一个网址")


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


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

If e.PostValues.ContainsKey("AssetNumber") Then
       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 页面                       
            e.WriteString("<meta http-equiv='Refresh' c>")        ‘如果在扫描页面按回车键,则通过将表单的内容post过来之后,返回此地址直接跳转到结果显示页面,但如果通过按按钮,则也会返回这样一长串字符给js文件中被的按钮调用的函数,因此需要在js文件中,把其中的e.PostValues("AssetNumber") 截出来,请问怎么做?    
       End If
End If


js文件如下:
//发送JSON对象
function pdScanFunction()
{
    var result = submitAjaxForm('form1','',false);        //false  表示同步执行
//如果正确跳出验证对话框,确定后转目标网页     如果不正确,则跳出对话框停留在该页。 
     if (result =='exist')      //查到重复盘点记录
        {
          showDialog('dlg4','!!!警告!!!','发现存在重复盘点记录!');       
       // show('dlg4')
         return false;            //停止执行,返回false
        }
     else      //跳转到核对盘点结果的页面
        {
        // location = "/CheckPd.htm?AssetNumber=" + result;
         location=encodeURI(result);     //此时的result是checkpd.htm   返回来的一长串网址
 
        return true;
        }

}


[此贴子已经被作者于2019/1/3 17:49:27编辑过]

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


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

改成比如这样啊

 

e.WriteString("http://www.baidu.com")   


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


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

改成这样 回车的时候执行这代码 无法跳转啊,只能在网页上显示这网址

所以应该还是要在js代码里面   把 那串网址中的  AssetNumber 参数提出来才行啊
[此贴子已经被作者于2019/1/4 8:07:31编辑过]

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