以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]网页统计数据更新  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=178731)

--  作者:洮沙
--  发布时间:2022/7/18 11:38:00
--  [求助]网页统计数据更新

老师,有以下网页:


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

确定按钮代码如下:
  With wb.AddDialog("", "dlg1", "提示", "登记成功!疫情防控,一起加油!!") \'登记成功提示框
            .AddButton("btnOK", "确定").Attribute =  "on click=\'f orm1.reset()\'"
   End With


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

页脚代码如下:

 Dim cnt As Integer
 cnt = DataTables("登记").SQLCompute("Count(序号)")
With wb.AddPageFooter("", "pf2", "成功登记" & cnt & "位,技术支持:18093097299")
        .Attribute = "style=\'position: static;\'"
End With

添加成功后如何能够清空表单并更新统计数据?麻烦老师指点一二,我实在是搞不明白了,谢谢!

引用JS代码如下:

function myfunction(){
    var result = submitAjaxForm(\'form1\',\'\',false);
    if (result ==\'OK\') {show(\'dlg1\')}
    else {showDialog(\'dlg2\',\'错误\',result)}
}

[此贴子已经被作者于2022/7/18 11:40:58编辑过]

--  作者:有点蓝
--  发布时间:2022/7/18 11:51:00
--  
清空所有录入的内容?直接刷新页面:

function myfunction(){
    var result = submitAjaxForm(\'form1\',\'\',false);
    if (result ==\'OK\') {
show(\'dlg1\');
location.reload(true)}
    else {showDialog(\'dlg2\',\'错误\',result)}
}

--  作者:洮沙
--  发布时间:2022/7/18 12:04:00
--  

老师,不是清空所有录入的内容,而是清空已经提交成功后原来页面表单数据,这个功能dlg1对话框确定按钮的代码.AddButton("btnOK", "确定").Attribute =  "on click=\'f orm1.reset()\'"能够完成,

刚才测试了JS代码,提交时dlg1一闪后直接刷新页面了,统计数据是更新了,但是不显示dlg1对话框(不是预期),能否在dlg1对话框确定按钮中添加更新代码(最好是不刷新页面)?谢谢!

[此贴子已经被作者于2022/7/18 12:10:17编辑过]

--  作者:有点蓝
--  发布时间:2022/7/18 13:31:00
--  
那就下面这个这个用法呀

这个功能dlg1对话框确定按钮的代码.AddButton("btnOK", "确定").Attribute =  "on click=\'f orm1.reset()\'"能够完成,

--  作者:洮沙
--  发布时间:2022/7/18 14:01:00
--  

老师,关键是还需要对统计数据进行更新,怎么办?

能够将 "on click=\'f orm1.reset()\'" 

修改成直接刷新页面(location.reload(true))的代码?

谢谢!


 


--  作者:有点蓝
--  发布时间:2022/7/18 14:10:00
--  
1、使用浏览器开发者工具分析一下,统计信息的html代码,获取控件后直接填入内容,考虑直接在ajax里返回统计信息,比如返回【OK|3】

function myfunction(){
    var result = submitAjaxForm(\'form1\',\'\',false);
    if (result.substring(0,2) ==\'OK\') {
document.getElementById("xxx").innerHTML = "成功登记" & result.substring(3) & "位,技术支持:18093097299"
show(\'dlg1\')
}
    else {showDialog(\'dlg2\',\'错误\',result)}
}

2、修改成直接刷新页面(location.reload(true))的代码

--  作者:洮沙
--  发布时间:2022/7/18 14:37:00
--  

老师,思路我懂了,但是修改后代码不执行:

返回统计信息代码如下:

 Dim cnt1 As Integer
 cnt1 = DataTables("登记").SQLCompute("Count(序号)")
 e.WriteString("OK" & cnt1 & "") \'返回增加成功消息

 

JS代码如下:

function myfunction(){
    var result = submitAjaxForm(\'form1\',\'\',false);
    if (result.substring(0,2) ==\'OK\') {
document.getElementById("pf2").innerHTML = "累计登记" & result.substring(3) & "人,技术支持:18093097299"
show(\'dlg1\')
}
    else {showDialog(\'dlg2\',\'错误\',result)}
}

 

数据统计控件代码如下:

With wb.AddPageFooter("", "pf2", "累计登记" & cnt & "人,技术支持:18093097299")
            .Attribute = "style=\'position: static;\'"
 End With

 

所有数据成功提交到数据库,但是不出现dlg1对话框,数据统计控件内容也不更新,感觉("OK" & cnt1 & "") 没有传送成功或者其他什么原因,又不懂了啊!

[此贴子已经被作者于2022/7/18 14:45:23编辑过]

--  作者:有点蓝
--  发布时间:2022/7/18 14:57:00
--  
e.WriteString("OK|" & cnt1 & "") 

截图看看前端显示统计信息的的html代码是怎么样的

--  作者:洮沙
--  发布时间:2022/7/18 15:03:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:12.png
图片点击可在新窗口打开查看
老师,是这样的代码吗?
--  作者:有点蓝
--  发布时间:2022/7/18 15:10:00
--  
document.getElementsByClassName("weui-footer__text").innerText = "累计登记" & result.substring(3) & "人,技术支持:18093097299"