以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 提示这个错误,是哪原因? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=106550) |
-- 作者:苍风霁月 -- 发布时间:2017/9/11 14:21:00 -- 提示这个错误,是哪原因? 在移动开发中,控件Attribute 属性的onchange事件提示错误,请问下有哪些原因可引起?测了很久也没找到地方。 |
-- 作者:有点甜 -- 发布时间:2017/9/11 14:47:00 -- 加入msgbox,定位出错位置。贴出对应出错代码。
http://www.foxtable.com/webhelp/scr/1485.htm
|
-- 作者:苍风霁月 -- 发布时间:2017/9/11 15:44:00 -- 是用的该方式调试的,没找到问题点。 我想实现的功能,就是用一个开关的onchange事件,根据并关的值调整界面显示的值。代码如下: Dim e As RequestEventArgs = args(0) Dim wb As WeUI = Args(1) Dim dm,mc As String For Each key As String In e.Values.Keys Select key Case "name" mc=e.Values(key) Case "code" dm= e.Values(key) End Select Next wb.AddPageTitle("","pageheader","产品信息","") wb.AddForm("","form1","replay.htm") Dim dr As DataRow = DataTables("产品表").Find("代码 = \'" & dm & "\'") With wb.AddInputGroup("form1","ipg1","") With .AddInput("dm","代码","text") .value = dm .Readonly=True End With With .AddInput("mc","名称","text") .value = mc .Readonly=True End With Dim yj,jj As Single If dr("是否协议价") ="是" Then yj = dr("协议月均价") jj = dr("协议季均价") Else yj = dr("月均价") jj = dr("季均价") End If With .AddInput("yj","月均价","number") .Step =0.01 .Value = yj .Required=True End With With .AddInput("jj","季均价","number") .Step =0.01 .Value = jj .Required=True End With .AddSwitch("xyj","是否协议价",iif(dr("是否协议价") ="是",False,True)).Attribute = "" End With With wb.AddButtonGroup("form1","btg1",False) .Add("btn1", "确定", "submit") .Add("btn2", "返回", "","default.htm") End With wb.AppendHTML("<script src=\'./lib/ajaxform.js\'></script>") \'引入脚本文件 e.WriteString(wb.Build) getAvgPrice.htm代码: Dim dr1 As DataRow = DataTables("产品表").Find("代码 = \'" & e.Values("dm") & "\'") If dr1 IsNot Nothing Then If e.Values("xyj")="on" Then e.WriteString(dr1("协议月均价") & "|" & dr1("协议季均价")) Else e.WriteString(dr1("月均价") & "|" & dr1("季均价")) End If Else e.WriteString("未找到相关数据") End If js代码: function setAvgPrice(){ var result= submitAjaxFileds(\'getAvgPrice.htm\',\'\',\'dm\',\'xyj\',false); //根据是否协议价设置界面均价 if(result){ var vals=result.split("|"); if(vals.length==2){ document.getElementById("yj").value=vals[0]; document.getElementById("jj").value=vals[1]; } } } [此贴子已经被作者于2017/9/11 16:02:24编辑过]
|
-- 作者:有点甜 -- 发布时间:2017/9/11 15:46:00 -- 查找之后,要判断是否有值
Dim dr As DataRow = DataTables("产品表").Find("代码 = \'" & dm & "\'") If dr Is Nothing Then msgbox("没有找到") Else \'其余代码 End If |
-- 作者:苍风霁月 -- 发布时间:2017/9/11 15:52:00 -- 加上也是一样的提示 |
-- 作者:有点甜 -- 发布时间:2017/9/11 15:54:00 -- 贴出你修改后的代码。
加入msgbox,看弹出到哪里开始报错,确定出错位置。
|
-- 作者:苍风霁月 -- 发布时间:2017/9/11 16:07:00 -- 界面生成后,正常载入数据! 点击开关按钮,下面第一个提示都没进行。 Dim e As RequestEventArgs = args(0) Dim wb As WeUI = Args(1) MessageBox.Show(0) |
-- 作者:有点甜 -- 发布时间:2017/9/11 16:13:00 -- 那报什么错?做个具体例子发上来测试。 |
-- 作者:苍风霁月 -- 发布时间:2017/9/11 16:21:00 -- 例子太大了,提示 .NET Framework 版本:2.0.50727.8745 Foxtable 版本:2017.8.19.1 错误所在事件:项目,HttpRequest 详细错误信息: 未将对象引用设置到对象的实例。 |
-- 作者:有点甜 -- 发布时间:2017/9/11 16:22:00 -- httpRequest加入msgbox,定位出错的代码。 |