Foxtable(狐表)用户栏目专家坐堂 → 如何让一个按钮不能连续点击多次? 避免多次提交?


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

主题:如何让一个按钮不能连续点击多次? 避免多次提交?

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


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
如何让一个按钮不能连续点击多次? 避免多次提交?  发帖心情 Post By:2019/8/9 16:28:00 [只看该作者]

        '开始正常生成网页内容
        wb.AddForm("","form1","ITFailure.htm").Attribute="o nsubmit='r eturn DeviceInfoQueryFunction()'"     
        With wb.AddInputGroup("form1","ipg1","基本信息")
            '    .AddInput("product","所在楼","text")        '显示
            '    .AddInput("product","所在科室","text")        '显示
            '    .AddInput("product","所在房间","text")        '显示

            With .AddInputCell("ic1")       '增加待接收扫码的文本框
                .AddLabel("lnumber","sn",0)      '第2个sn  是显示在界面上的内容  第1个lsn是label控件的ID
                .AddInput("number","text",1)
                .AddVcodeButton("scan","扫码输入",2)      '增加二维码扫描按钮,2表示显示在右边
            End With



        '增加 设备类型&所在楼&所在科室&所在房间  字段 
           .AddInput("sblx","设备类型","text")
           .AddInput("sbxh","设备型号","text")
           .AddInput("szl","所在楼","text")
           .AddInput("szks","所在科室","text")
           .AddInput("szfj","所在房间","text")



'''''''''''''''''''''''''''''''''增加姓名&工号字段     
       Dim OpenId As String =  e.Cookies("openid") 
       Dim dr_name As DataRow= DataTables("WeChatUsers").SQLFind("Openid= '" & OpenID & "'")


       If dr_name IsNot Nothing  Then    '如果dr不为空        
          With .AddInput("xm","姓名","text")
                  .Value=dr_name("RemarkName")
                '  .Readonly=True
          End With


          With .AddInput("gh","工号","text")
                  .Value=dr_name("EmployeeID")
               '   .Readonly=True
          End With


       Else        '如果dr为空,则空着让报障人填  ,最终要存到    硬件报障记录表   里面
           .AddInput("xm","姓名","text")
           .AddInput("gh","工号","text")

       End If 


''''''''''''''''''''''''''''''''''''''''''''''''


       Dim dr_ks As DataRow= DataTables("users_Report").SQLFind("JobNumber= '" & dr_name("EmployeeID") & "'")
 '  msgbox(dr("RemarkName"))
   '原来是  科室  姓名  岗位   电话   提交日期     现要改为:  姓名   工号(科室改为工号)   岗位  电话    提交日期  
       If dr_ks IsNot Nothing  Then    '如果dr不为空        
          With .AddInput("dh","电话","text")
                  .Value=dr_ks("MobilePhone")
                '  .Readonly=True
          End With

          With .AddInput("ks","科室","text")
                  .Value=dr_ks("DeptName")
               '   .Readonly=True
          End With

        Else        '如果dr为空,则空着让报障人填  ,最终要存到    硬件报障记录表   里面
           .AddInput("dh","电话","text")
           .AddInput("ks","科室","text")
 
        End If 


         .AddInput("jlsj","记录时间","datetime-local").Value = Format(Date.Now,"yyyy-MM-ddTHH:mm")       '增加记录时间字段
 
           
        ' .AddInput("gzms","故障描述","text")                    '增加故障描述字段

         With wb.AddInputGroup("form1","ipg2","故障描述")
           .AddTextArea("gzms",2).Placeholder = "请输入简单的故障描述,如:显示器不亮,网络不通,……等."
         End With

   End With


        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btn1", "提交", "submit")
        End With
[此贴子已经被作者于2019/8/9 16:51:06编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

按钮那要使用ajax提交才行,js代码

document.getElementById("btn1").disabled=true; //禁止按钮
var result=submitAjaxForm('form1','',false);
document.getElementById("btn1").disabled=false; //恢复按钮

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


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2019/8/9 16:48:00 [只看该作者]

ajax改成这样了,没起作用啊.    按钮一直是亮的  ,按钮ID也是btn1

function DeviceInfoQueryFunction()
{
    document.getElementById("btn1").disabled=true;    //禁止按钮
    var result = submitAjaxForm('form1','',false);
    document.getElementById("btn1").disabled=false;   //恢复按钮
   //如果正确跳出验证对话框,确定后转目标网页     如果不正确,则跳出对话框停留在该页。 
     if (result<>'not missing')    //检测信息无缺失,提交成功
        {
         document.getElementById("p1").innerHTML=result;       //在P1位置显示各字段内容   p1 是个div
         return false;
         }
     else     //检测信息有缺失,提交不成功 
        {             
         showDialog('dlg4','提交失败','有信息缺失'); 
         return false;
        }
}

[此贴子已经被作者于2019/8/9 16:49:17编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

改为自己按钮的ID啊,不要只会抄啊

document.getElementById("
btn1")

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


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2019/8/9 17:07:00 [只看该作者]

按钮ID就是btn1啊,我上面说了呀


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


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2019/8/9 17:07:00 [只看该作者]


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

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

按没有调用任何js啊

.Add("btn1""确定""button").Attribute= "onclick='myfunction()'"
[此贴子已经被作者于2019/8/9 17:22:30编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2019/8/9 17:36:00 [只看该作者]

问题一:     用这行代码解决了,但 '请稍后'没弹出来,不知道怎么回事                 .Add("btn1", "提交", "button").attribute="o nclick=""this.disabled=true;this.value='请稍后';form1.submit()"""    
 

问题二:    我也很奇怪,这行代码写在开头调用ajax,难道没起作用吗?            wb.AddForm("","form1","ITFailure.htm").Attribute="o nsubmit='return DeviceInfoQueryFunction()'"     

  
[此贴子已经被作者于2019/8/9 17:37:51编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

1、 '请稍后'只是赋值,和弹出来有啥关系

2、没有用的。就像Foxtable的表事件一样,各有各的用处,不是随便找个事件都可以用的

 回到顶部