国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript禁止用戶多次提交的兩種方法

2019-11-20 09:25:28
字體:
來源:轉載
供稿:網友

【當服務器超載時,會出現提交卡頓的現象,但是用戶在操作時,會不停重復點擊提交,會造成服務器壓力更大。所以我們需要進行限制】

[1]將提交按鈕禁止

<html>  <head>    <script>      //禁止默認行為  因為這里要模擬服務器超載的時候,所以需要先禁止掉submit按鈕自動提交的功能    function preventDef(event){      event=event||window.event;      if(event.preventDefault){        return event.preventDefault;        }else{         return event.returnValue=false;        }      }    window.onload=function(){    var form=document.getElementsByTagName('form')[0];      //獲取到form元素    var txt=form.elements['txt'];                    //獲取到name屬性為txt的表單元素    var sub=form.elements['sub'];                    //獲取到name屬性為sub的表單元素    form.onsubmit=function(event){                  //創建一個提交事件,因為submit是form來提交事件的,所以我們要禁止也需要通過form來禁止      event=event || window.event;                        preventDef(event);                      //禁止掉默認提交行為      sub.disabled=true    //第一種就是在用戶提交完之后,將按鈕禁用不再讓用戶提交,等待提交完畢之后再釋放按鈕            setTimeout(function(){                    //模擬5秒鐘后再提交      form.submit()},5000);    } }    </script>  </head>  <body>    <form id="form">      <input type="text" id="txt" name="txt">      <input type="submit" id="sub">    </form>  </body></html>

[第二種 創建一個變量進行判斷]

[1]將提交按鈕禁止

<html>  <head>    <script>      //禁止默認行為  因為這里要模擬服務器超載的時候,所以需要先禁止掉submit按鈕自動提交的功能    function preventDef(event){      event=event||window.event;      if(event.preventDefault){        return event.preventDefault;        }else{         return event.returnValue=false;        }      }    window.onload=function(){    var form=document.getElementsByTagName('form')[0];      //獲取到form元素    var txt=form.elements['txt'];                    //獲取到name屬性為txt的表單元素    var sub=form.elements['sub'];                    //獲取到name屬性為sub的表單元素    var flag=true;                            //先創建一個變量,表示默認的時候用戶還沒點擊提交    form.onsubmit=function(event){                  //創建一個提交事件,因為submit是form來提交事件的,所以我們要禁止也需要通過form來禁止      event=event || window.event;                        preventDef(event);                      //禁止掉默認提交行為       if(flag==true){          flag=false;                    //表示用戶已經點擊過提交按鈕      }else{        alert('正在提交,請勿重復提交');                }            setTimeout(function(){                    //模擬5秒鐘后再提交      form.submit()},5000);    }}    </script>  </head>  <body>    <form id="form">      <input type="text" id="txt" name="txt">      <input type="submit" id="sub">    </form>  </body></html>

JavaScript禁止用戶多次提交的兩種方法

【當服務器超載時,會出現提交卡頓的現象,但是用戶在操作時,會不停重復點擊提交,會造成服務器壓力更大。所以我們需要進行限制】

[1]將提交按鈕禁止

<html>  <head>    <script>      //禁止默認行為  因為這里要模擬服務器超載的時候,所以需要先禁止掉submit按鈕自動提交的功能    function preventDef(event){      event=event||window.event;      if(event.preventDefault){        return event.preventDefault;        }else{         return event.returnValue=false;        }      }    window.onload=function(){    var form=document.getElementsByTagName('form')[0];      //獲取到form元素    var txt=form.elements['txt'];                    //獲取到name屬性為txt的表單元素    var sub=form.elements['sub'];                    //獲取到name屬性為sub的表單元素    form.onsubmit=function(event){                  //創建一個提交事件,因為submit是form來提交事件的,所以我們要禁止也需要通過form來禁止      event=event || window.event;                        preventDef(event);                      //禁止掉默認提交行為      sub.disabled=true    //第一種就是在用戶提交完之后,將按鈕禁用不再讓用戶提交,等待提交完畢之后再釋放按鈕            setTimeout(function(){                    //模擬5秒鐘后再提交      form.submit()},5000);    } }    </script>  </head>  <body>    <form id="form">      <input type="text" id="txt" name="txt">      <input type="submit" id="sub">    </form>  </body></html>

[第二種 創建一個變量進行判斷]

[1]將提交按鈕禁止

<html>  <head>    <script>      //禁止默認行為  因為這里要模擬服務器超載的時候,所以需要先禁止掉submit按鈕自動提交的功能    function preventDef(event){      event=event||window.event;      if(event.preventDefault){        return event.preventDefault;        }else{         return event.returnValue=false;        }      }    window.onload=function(){    var form=document.getElementsByTagName('form')[0];      //獲取到form元素    var txt=form.elements['txt'];                    //獲取到name屬性為txt的表單元素    var sub=form.elements['sub'];                    //獲取到name屬性為sub的表單元素    var flag=true;                            //先創建一個變量,表示默認的時候用戶還沒點擊提交    form.onsubmit=function(event){                  //創建一個提交事件,因為submit是form來提交事件的,所以我們要禁止也需要通過form來禁止      event=event || window.event;                        preventDef(event);                      //禁止掉默認提交行為       if(flag==true){          flag=false;                    //表示用戶已經點擊過提交按鈕      }else{        alert('正在提交,請勿重復提交');                }            setTimeout(function(){                    //模擬5秒鐘后再提交      form.submit()},5000);    }}    </script>  </head>  <body>    <form id="form">      <input type="text" id="txt" name="txt">      <input type="submit" id="sub">    </form>  </body></html>

以上所述是小編給大家介紹的JavaScript禁止用戶多次提交的兩種方法的相關資料,希望對大家有所幫助!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 怀安县| 铜川市| 西华县| 丁青县| 临邑县| 云和县| 加查县| 彭阳县| 亚东县| 张北县| 泾川县| 浮山县| 施甸县| 班玛县| 北碚区| 韶山市| 龙井市| 岚皋县| 兰坪| 邹城市| 沙雅县| 庆元县| 新密市| 册亨县| 区。| 辛集市| 伊春市| 丹阳市| 宁陵县| 洪江市| 汕头市| 永胜县| 洱源县| 竹山县| 九江市| 交口县| 荣昌县| 维西| 额尔古纳市| 凤城市| 平果县|