Foxtable(狐表)用户栏目专家坐堂 → getElementById取不到值,请教啥问题?


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

主题:getElementById取不到值,请教啥问题?

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


加好友 发短信
等级:三尾狐 帖子:704 积分:7058 威望:0 精华:0 注册:2012/11/4 23:10:00
getElementById取不到值,请教啥问题?  发帖心情 Post By:2020/2/8 14:05:00 [只看该作者]

移动端代码:
Dim e As RequestEventArgs = args(0)
Dim wb As WeUI = Args(1)
wb.AddPageTitle("","pageheader","买入信息","")
wb.AddTopTips("","toptip2","")
wb.AddForm("","buyinfo","buysave.html").Attribute=""
If e.GetValues.ContainsKey("m") Then
    Dim dr As DataRow= DataTables("资金").Find("用户='" & args(2) & "'")   
    With wb.AddInputGroup("buyinfo","ipg1","准确记录买入数据")
        .AddHidenValue("用户",args(2))
        .AddHidenValue("余额",dr("余额"))  '经验证余额是>0的;
        With .AddInput("名称","名称","text")
            .Value = e.GetValues("m")
            .Readonly=True
        End With
       
        With .AddInput("价格","价格","number")
            .Required=True
            .Step = "0.01"
        End With
        With .AddInput("数量","数量","number")
            .Required=True
        End With
    End With
Else
    wb.AddTopTips("","toptip1","数据有误!").msec = 2000
End If
With wb.AddButtonGroup("buyinfo","btg1",False)
    .Add("btn1", "保存", "submit")
End With
wb.AppendHTML("<script src='./lib/ajaxform.js'></script>") '引入脚本文件
e.WriteString(wb.Build)

Js文件代码:
function Validit(){
alert(1);
alert(document.getElementById("价格").value);
   var v1 = document.getElementById("余额").value;
   var v2 = document.getElementById("价格").value;
   var v3 = document.getElementById("数量").value;
   if (v1-v2*V3>0){return true}
   showTopTips("toptip2","余额不足!",2500);
   return false;
}


执行结果是:JS执行了,弹出了1,后面的弹窗显示价格信息及验证完全没的执行,请教原因?

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/8 14:36:00 [只看该作者]

按F12打开浏览器的开发者工具,看看价格这些标签的名称和id都是什么?到js里设置断点调试看看

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


加好友 发短信
等级:三尾狐 帖子:704 积分:7058 威望:0 精华:0 注册:2012/11/4 23:10:00
  发帖心情 Post By:2020/2/8 15:46:00 [只看该作者]

使用开发工具看了,名称及ID均是对的,但在JS打断点后,(断点打在var v1 = document.getElementById("余额").value这里),直接跳过了
在调试里,能看到隐藏控件的value,但js断点没停下来。
在V1,V2处都设置断点,没停,alert(1)执行,alert(2)没执行。
Js文件代码:
function Validit(){
alert(1);
   var v1 = document.getElementById("余额").value;
   var v2 = document.getElementById("价格").value;
   var v3 = document.getElementById("数量").value;
alert(2);
   if (v1-v2*V3>0){return true}
   showTopTips("toptip2","余额不足!",2500);
   return false;
}

[此贴子已经被作者于2020/2/8 16:04:17编辑过]

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/8 16:07:00 [只看该作者]

我测试上面的代码没有问题。上传实例测试

可能是js文件编码问题。Js文件是不是使用记事本编辑的?使用另外的文本编辑器重新建一个js文件试试,比如vscode、editplus等等

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


加好友 发短信
等级:三尾狐 帖子:704 积分:7058 威望:0 精华:0 注册:2012/11/4 23:10:00
  发帖心情 Post By:2020/2/8 16:15:00 [只看该作者]

哦,还真是js文件编码问题,使用editplus保存的JS,解决问题,谢谢!

 回到顶部