以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  【再次请教】网页中怎么做一个弹幕:告知大家系统在5分钟后要升级关闭了,请及时保存  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=176993)

--  作者:kylin
--  发布时间:2022/5/6 2:07:00
--  【再次请教】网页中怎么做一个弹幕:告知大家系统在5分钟后要升级关闭了,请及时保存
原帖中,蓝版给个意见是使用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编辑过]

--  作者:有点蓝
--  发布时间:2022/5/6 8:44:00
--  
网上搜索学习一下js计时器的用法,使用ajax定时向服务器查询需要提示的消息
--  作者:teng0731
--  发布时间:2022/5/6 9:23:00
--  
<script language="JavaScript">
setTimeout(function(){location.reload()},15000); //指定15秒自动将页面刷新一次
</script>

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

--  作者:kylin
--  发布时间:2022/5/6 11:48:00
--  
多谢,多谢!尝试先!图片点击可在新窗口打开查看


--  作者:kylin
--  发布时间: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秒提示一下用户?

帮忙诊断一下!

--  作者:浙江仔
--  发布时间: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
--  发布时间:2022/5/7 13:36:00
--  
图片点击可在新窗口打开查看多谢!