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


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

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

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


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2019/1/3 9:42:00 [显示全部帖子]

pdscan.htm 代码如下,要怎么改呢?


//发送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;
        }

}



pdscan.htm 的代码如下:

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,后一个"资产编号"是标题
        .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") )
    End With

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

 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


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

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

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


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



 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

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

 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2019/1/4 10:45:00 [显示全部帖子]



这样吗? 不行啊 

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



[此贴子已经被作者于2019/1/4 10:46:38编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2019/1/4 11:36:00 [显示全部帖子]


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


这样写也不行啊,太长,而且也报错


---------------------------
错误
---------------------------
编译错误:未声明名称“CheckPd”。



错误代码:.AddInput("AssetNumber","资产编号","Text").Attribute="/CheckPd.htm?AssetNumber=" + result;Return true;}}"""
---------------------------
确定   
---------------------------

[此贴子已经被作者于2019/1/4 11:37:02编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2019/1/4 11:46:00 [显示全部帖子]


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


我试过了,改成这样,没有执行pdScanFunction(),依然post跳转
[此贴子已经被作者于2019/1/4 11:48:42编辑过]

 回到顶部
总数 28 上一页 1 2 3 下一页