通过JS在客户端限止用户重复提交的代码

80酷酷网    80kuku.com

  程序介绍
1.方法一:hiddenForm 隐藏表单法: 查看函数 hiddenForm
2.方法二:disButtons 禁用按钮法: 查看函数 disButtons disButtons2
3.本程序为客户端javascript程序限制多次提交,冰河原创首发蓝色理想,欢迎大家转载,但请保留本人信息,谢谢
4.源码发布在我的手机主题站: http://www.qumiao.com/javascript/disRepSubmit.rar (本人所有原创程序均打包发在此)
5.作者邮箱及QQ: binghe6218163.com 369768917 (加好友时请提醒:程序交流)

函数源码:

以下是引用片段 by alixixi.com:
function checkform(frm)
{
       //下面这一行是普通的验证判断
       if(frm.keyword.value==""){alert(’“手机主题名称”不能为空’); frm.keyword.focus();return false}
       
       //重点在这, 在验证完之后执行如下函数可以防止表单数据重复提交
       //disButtons();       //函数调用1
             //disButtons2();       //或函数调用2
       hiddenForm(frm);              //或函数调用3

}


/*
函数名称:hiddenForm
函数功能:提交时让表单自动隐藏,而不影响数据的提交
*/
以下是引用片段 by alixixi.com:
function hiddenForm(frm)
{
       //waitStr 提交过程中出现的提示,可以自行设置
       var waitStr = "<center> Waiting...</center>";
       frm.innerHTML = "<div 
}


/*
函数名称:disButtons
函数功能:提交前,将所有表单中的button,reset,submit禁用disabled;
          如果是submit按钮,则添加与之相同隐藏文本框hidden对象,让提交的信息无一漏网
作者:    冰河
*/
以下是引用片段 by alixixi.com:
function disButtons()
{
       for(k=0;k<document.all.length;k++ )
       {
              var obj = document.all(k)
              if( obj.type==’button’ || obj.type==’submit’ || obj.type==’reset’)
              {
                     obj.disabled = true
                     if (obj.type==’submit’)
                     {
                            var oNewNode = document.createElement("input");
                            oNewNode.type = "hidden"
                            oNewNode.name = obj.name
                            oNewNode.value = obj.value
                            //frm.insertAdjacentElement("beforeEnd",oNewNode);
                            obj.insertAdjacentElement("afterEnd",oNewNode);
                     }              
              }
       }
}

/*
函数名称:disButtons2
函数功能:提交前,将所有表单中的button,reset,submit禁用disabled;
          如果是submit按钮,则添加与之相同隐藏文本框hidden对象,让提交的信息无一漏网
作者:    冰河
函数说明:与上面的函数功能一样,但适用浏览器范围更广,推荐使用此函数。
*/
以下是引用片段:
function disButtons2()
{
       for(k=0;k<document.forms.length;k++ )
       {
              var frm = document.forms[k]
              for(i=0;i<frm.length;i++)
              {
                     var obj = frm.elements[i]
                     if ( obj.type==’button’ || obj.type==’submit’ || obj.type==’reset’ ) 
                     {
                            obj.disabled = true
                            if (obj.type==’submit’)
                            {
                                   var oNewNode = document.createElement("input");
                                   oNewNode.type = "hidden"
                                   oNewNode.name = obj.name
                                   oNewNode.value = obj.value
                                   //frm.insertAdjacentElement("beforeEnd",oNewNode);
                                   obj.insertAdjacentElement("afterEnd",oNewNode);
                            }
                     }
              }
       }
}


分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: