以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何让一个按钮不能连续点击多次? 避免多次提交?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=139284)

--  作者:ycwk
--  发布时间: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编辑过]

--  作者:有点蓝
--  发布时间:2019/8/9 16:33:00
--  
按钮那要使用ajax提交才行,js代码

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

--  作者:ycwk
--  发布时间: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编辑过]

--  作者:有点蓝
--  发布时间:2019/8/9 17:03:00
--  
改为自己按钮的ID啊,不要只会抄啊

document.getElementById("
btn1")
--  作者:ycwk
--  发布时间:2019/8/9 17:07:00
--  
按钮ID就是btn1啊,我上面说了呀


--  作者:ycwk
--  发布时间:2019/8/9 17:07:00
--  

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

--  作者:有点蓝
--  发布时间:2019/8/9 17:22:00
--  
按没有调用任何js啊

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

--  作者:ycwk
--  发布时间: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编辑过]

--  作者:有点蓝
--  发布时间:2019/8/9 20:07:00
--  
1、 \'请稍后\'只是赋值,和弹出来有啥关系

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