Foxtable(狐表)用户栏目专家坐堂 → 【再次请教】网页中怎么做一个弹幕:告知大家系统在5分钟后要升级关闭了,请及时保存


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

主题:【再次请教】网页中怎么做一个弹幕:告知大家系统在5分钟后要升级关闭了,请及时保存

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
【再次请教】网页中怎么做一个弹幕:告知大家系统在5分钟后要升级关闭了,请及时保存  发帖心情 Post By:2022/5/6 2:07:00 [只看该作者]

原帖中,蓝版给个意见是使用AddTopTips,有一个弊端,参考代码如下:
Dim cr = Tables("PopWnd").Current
If cr Is Nothing Then
    e.WriteString("系统错误,未发现弹窗信息!")
    Return ""
Else 
    Dim tcr = cr.DataRow
    tcr.Load  
    If tcr!Tip > "" Then
        wb.AddTopTips("", "toptip1", tcr!Tip + "【有新增/修改的,务必尽早提交保存数据!】").msec = 9000 
        tcr!Tip = Nothing
        tcr.Save 
    End If
End If  

With wb.AddButtonGroup("form1","btg1",False)
    .Add("btn1", "确定", "submit")  
    .Add("btn2", "返回","","stfpnl.htm?bmid=" & bmh)   
End With
e.WriteString(wb.Build)

这里有个弊端,如果用户不按【确定】按钮,这个提醒是无法被触发。

我的想法是,一旦表PopWnd的第一行Tip字段写入某个字符串,则在用户一碰到页面时就弹出,而不要等用户按【确定】按钮后再弹出。
避免用户因为没有看到这个提示,而一直写啊写,可是系统可能因为升级而关闭了服务,而用户写了很多的数据没有办法保存下来。

可否有对策,特此请教!
[此贴子已经被作者于2022/5/6 2:18:48编辑过]

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/6 8:44:00 [只看该作者]

网上搜索学习一下js计时器的用法,使用ajax定时向服务器查询需要提示的消息

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


加好友 发短信
等级:一尾狐 帖子:459 积分:3471 威望:0 精华:0 注册:2011/6/6 11:22:00
  发帖心情 Post By:2022/5/6 9:23:00 [只看该作者]

<script language="JavaScript">
setTimeout(function(){location.reload()},15000); //指定15秒自动将页面刷新一次
</script>

把里面的function(){location.reload()}内容改为你自己需要查询和触发的内容即可,这样可以达到定时

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2022/5/6 11:48:00 [只看该作者]

多谢,多谢!尝试先!图片点击可在新窗口打开查看


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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2022/5/7 2:49:00 [只看该作者]

测试了代码如下:
Dim cr = Tables("PopWnd").Current
If cr Is Nothing Then
    e.WriteString("系统错误,未发现弹窗信息!")
    Return ""
Else 
    Dim tcr = cr.DataRow
    tcr.Load '这个是确实存在的
    If tcr!Tip > "" Then
        wb.AddTopTips("", "toptip1", tcr!Tip + "【有新增/修改的,务必尽早提交保存数据!】").msec = 9000         
    End If
End If 
wb.AppendHTML("<script setTimeout(tanchuang(),15000)></script>")  

wb.AppendHTML("<script src='./lib/stfedtajaxform.js'></script>") '引入脚本文件

e.WriteString(wb.Build)

JS之ajax函数里头的tanchuang()的代码如下:
function tanchuang(){
   var  tc = Tables("PopWnd").Current.DataRow.SQLGetValue("Tip");
if(tc.length == 0) 
 {
 hide("tc1");
}
else if (tc.replace(/(^s*)|(s*$)/g, "").length == 0)
 {
  hide("tc1");
}
else
 {
//alert("弹出警告"); 
show("tc1");
 }
}

为什么,不能达到15秒提示一下用户?

帮忙诊断一下!

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


加好友 发短信
等级:六尾狐 帖子:1326 积分:9609 威望:0 精华:1 注册:2010/7/21 14:20:00
  发帖心情 Post By:2022/5/7 8:19:00 [只看该作者]

js前端代码,无法使用tables,你需要单独做一个查询tip的页面,使用ajax去获取这个值

var  tc = Tables("PopWnd").Current.DataRow.SQLGetValue("Tip");

http://www.foxtable.com/mobilehelp/topics/0108.htm

[此贴子已经被作者于2022/5/7 8:19:43编辑过]

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2022/5/7 13:36:00 [只看该作者]

图片点击可在新窗口打开查看多谢!

 回到顶部