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


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

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

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


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望: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编辑过]

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


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2022/5/6 11:48:00 [显示全部帖子]

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


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


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望: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秒提示一下用户?

帮忙诊断一下!

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


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2022/5/7 13:36:00 [显示全部帖子]

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

 回到顶部