以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]移动端开发如何设置重复提交?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=128703)

--  作者:ymjr2011
--  发布时间:2018/12/13 13:18:00
--  [求助]移动端开发如何设置重复提交?
移动端如何设置重复提交?由于网络或个人手机或图片大小问题,导致提交的速度有点慢,以为没有变更就一直按提交导致有重复的数据
--  作者:有点蓝
--  发布时间:2018/12/13 15:02:00
--  
方法1、前端js使用ajex提交数据,在获取返回结果前停用提交按钮

2、后台服务端接收数据记录一下时间,如果短时间内接收到同一个编号的数据就不处理

--  作者:有点甜
--  发布时间:2018/12/13 15:57:00
--  

 

一般直接这样处理即可:点击后,直接把按钮禁用。或者是用一个变量记录点击的次数,如果是第二次点击,提示正在提交,请稍后。

 


--  作者:ymjr2011
--  发布时间:2018/12/13 19:56:00
--  
谢谢
--  作者:qwz405
--  发布时间:2020/12/19 19:38:00
--  
With wb.AddButtonGroup("form1","btg1",True)
        .Add("btn1", "确定", "submit")
End With
老师,您好。第1次点击“确定”后,如果禁用此按钮?

我现在是在获取数据页,设置短时间内的提交次数:
Dim i As Integer = DataTables("表A").SQLCompute("Count(*)", "工号 = \'***\' And 时间 > \'"& date.Now.AddMinutes(-5) &"\'")
If i = 0 Then
\'---成功提交,新建数据行.
Else
\'--->不新建数据,报错.
End If

以上代码我单人测试是正常,但不知道使用人员增加,或者短时间不同使用者重复提交,或者使用者网络卡,会不会再出现重复提交的问题?

--  作者:有点蓝
--  发布时间:2020/12/20 20:09:00
--  
禁用需要使用js提交:http://www.foxtable.com/mobilehelp/topics/0101.htm

.Add("btn1", "确定", "button").Attribute"onclick=\'myfunction()\'"

js函数
function myfunction(){
document.getElementById("btn1").disabled=  true;
    var result = submitAjaxForm(\'form1\',\'\',false);
document.getElementById("btn1").disabled=  false;
    if (result ==\'OK\') {show(\'dlg1\')}
    else {showDialog(\'dlg2\',\'错误\',result)}
}

--  作者:qwz405
--  发布时间:2020/12/21 15:11:00
--  
老师,这个js函数是 btn1 可用(true)时, 不刷新页面提交数据,但这样能控制 btn1 不能用吗?

用我上面的提交次数,来控制是否重复,不知道是否可行?


--  作者:有点蓝
--  发布时间:2020/12/21 15:15:00
--  
行不行测试过才知道。测试有什么问题?
--  作者:qwz405
--  发布时间:2020/12/21 15:23:00
--  
目前,多人测试没人问题。
我现在开发的是年会上投票用,短时间内上百人同时提交,怕会出问题。看要怎么能控制,不能多创建。