一個JavaScript防止表單重複提交的執行個體,javascript表單
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>防止重複表格單提交</title> <style> #refresh{ display: none; width:200px; height:20px; background-color: #ff0; } </style> <script> var inprocess = false; window.onload = function(){ document.forms["picker"].onsubmit = validateSubmit; document.getElementById("refresh").onclick = startOver; } function validateSubmit () { // 防止重複的表單提交 if (inprocess) return; inprocess = true; console.log(inprocess); document.getElementById("submitbutton").disabled = true; document.getElementById("refresh").style.display = "block"; document.getElementById("message").innerHTML = "<p>正在processing,稍等</p>"; return false; } function startOver(){ inprocess = false; document.getElementById("submitbutton").disabled = false; document.getElementById("message").innerHTML = ""; document.getElementById("refresh").style.display = "none"; } </script> </head> <body> <form id="picker" method="post" action=""> group1:<input type="radio" name="group1" value="one" /> group2:<input type="radio" name="group1" value="two" /> group3:<input type="radio" name="group1" value="three" /><br /><br /> Input 1: <input type="text" id="intext" /> Input 2: <input type="text" id="intext2" /> Input 3: <input type="text" id="intext3" /> <input type="submit" id="submitbutton" value="send form" /> </form> <div id="refresh"> <p>單擊我</p> </div> <div id="message"></div> </body> </html>
怎用javascript防止表單重複提交
<script language="”javascript”">
var checkSubmitFlg = false;
function checkSubmit(){
if(checkSubmitFlg ==true){ return false; //當表單被提交過一次後checkSubmitFlg將變為true,根據判斷將無法進行提交。
}
checkSubmitFlg ==true;
return true;
}
< /script >
< form name=”form1” method=”post” onsubmit=”return checkSubmit();”>
………..< /form>
為何我在html裡面寫的javascript不可以阻止表單的重複提交?
如果是想在提交表單進行中的時候禁止再次提交,你的可以在dosubmit()裡把按鈕給禁用掉。如果你的是想在提交後不想讓使用者再次提交(同時是在HTML頁面限制),那建議你使用 jquery.cookie 進行判斷。
如果是你的代碼沒有出現你的預計的,你的可以試一下把dosubmit()放在 submit 按鈕上的onclick 上頁面,在dosubmit() 添加 form.submit().