以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 数据丢失问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=178822)
|
-- 作者:ycs5801
-- 发布时间:2022/7/22 16:13:00
-- 数据丢失问题
以下内容是专门发给有点蓝浏览
现在list3这个页面,偶尔会发生丢失数据问题,就是下边的某一行突然就变成了空,整行都是空,主要是没有规律,怎样找出这样的错误呢?
|
-- 作者:有点蓝
-- 发布时间:2022/7/22 16:42:00
--
这种只能靠自己不停测试找出规律来。每个步骤都使用日志记录所有的操作,然后除问题的时候分析日志,看看代码都做了什么操作
|
-- 作者:ycs5801
-- 发布时间:2022/7/23 14:01:00
--
function myfunction1(sureyidtimes){ if(document.getElementById("tankno").value==\'\'){ //假如舱号为空,则传输srueyidtimes,生成表格 show("toptip2",2000); return false; }else{ //假如舱号不为空,则代表已经进入编辑状态,将传输主键,并将下一次的值返回表单 var key = table1.primarykey; var result=submitAjaxFileds("list3save.htm?key=" + table1.primarykey+"&sureyidtimes="+sureyidtimes,"","tankno","obvd", "correct", "tovcubmeter", "density",false) var obj = JSON.parse(result) if(obj.结束标志 ==\'结束\'){ //如果返回的是结束字符,则显示到结尾提示。 document.getElementById("p1").innerHTML=obj.压舱水表格 bindTable(); show("toptip1",2000); return false; } else{ //如果没有结束,则提取数据到表单,并生成表格 document.getElementById("p1").innerHTML=obj.压舱水表格 document.getElementById("tankno").value=obj.tankno document.getElementById("obvd").value =obj.obvd document.getElementById("correct").value =obj.correct document.getElementById("tovcubmeter").value =obj.tovcubmeter document.getElementById("density").value = obj.density bindTable(); //必须有此函数,见下,不然无法触控操 table1.primarykey = obj.primarykey } } }
有没有可能是这个js函数的问题,我觉得是多人操作,勾选了某行,得到key,保存了空值。
|
-- 作者:有点蓝
-- 发布时间:2022/7/23 14:28:00
--
写日志跟踪一段时间,看看这里提交的是否有值。
或者判断一下,前端有数据提交再新增保存
|
-- 作者:ycs5801
-- 发布时间:2022/7/23 15:51:00
--
If e.postvalues("tankno") = "" And e.postvalues("obvd") = "" And e.postvalues("correct") = "" And e.postvalues("tovcubmeter") = "" And e.postvalues("density") = "" Then MessageBox.Show("你发现了bug,记住你之前的操作") Return "" End If
黄色部分想换成alter方式在前端显示,需要怎么改?这样是不是可以发现bug?
|
-- 作者:ycs5801
-- 发布时间:2022/7/23 15:54:00
--
在这地方加的
此主题相关图片如下:2022-07-05_183523.jpg

|
-- 作者:有点蓝
-- 发布时间:2022/7/23 16:22:00
--
|
-- 作者:ycs5801
-- 发布时间:2022/7/24 10:23:00
-- 类似这种
if 某条件 then
前端提示信息(这个地方可以直接提示信息吗?利用alert)
end if
.Add("c1","Button", "./images/button.png").Attribute = "oncl ick=\'javascript:alert(""你单击了我!"")\'"
类似这种。
[此贴子已经被作者于2022/7/24 10:23:12编辑过]
|
-- 作者:有点蓝
-- 发布时间:2022/7/24 20:00:00
--
服务端的任何操作都要返回前端,才能执行。
方法1、前端直接判断就是7楼的用法 2、返回并刷新整个前端,比如MsgPage的用法, http://www.foxtable.com/mobilehelp/topics/0058.htm
http://www.foxtable.com/mobilehelp/topics/0059.htm
|