第一種方法:直接按鈕中加入
當點擊提交后,提交按鈕變灰色不可用,這樣可有效防止重復提交,本代碼就是實現這樣一個功能。從代碼就可以看出,我們只需在提交按鈕上加入這一句: onclick="javascript:{this.disabled=true;document.form1.submit();}",意思是當按鈕點擊后,將按鈕的不可用屬性設置為true,這樣按鈕就變灰了
<form name=form1 method="POST" action="/" target=_blank>
<p><input type="text" name="T1" size="20"><input type="button" value="提交" onclick="javascript:{this.disabled=true;document.form1.submit();}">
<input type="reset" value="重置" name="B2"></p>
</form>
或 (一般用下面這個就行了)
<input name="Submit" type="submit" name="addnews" class="input_sub" value="提 交" onClick="this.disabled=true;document.add.Submit.value='提交中...';document.add.submit();">
提交后提交按鈕邊灰不可重復點擊,這樣可避免重復提交
防止重復提交js按鈕變灰
第二種方法:通過onSubmit事件實現,并且可以將變灰按鈕變為可用
在form里面添加 onSubmit事件,如果表單加入了判斷,那么這個方法直接就可以用了,記住就放到最后,否則一開始就為灰了,但我們加上了一個使提交按鈕變為可用的代碼,
即可防止重復提交信息,也可以防止代碼問題導致不可提交的情況
<form name=form1 action="" onSubmit=" return closebut()" >
<input name="imageField" type="submit" class="inputbut" value="確定" /><br>
<input type="button" name="hui" id="hui" value="讓提交按鈕可用" onclick="document.form1.imageField.disabled=false" />
</form>
<script>
function closebut(){
document.form1.imageField.disabled=true;
}
</script>
第三種,跟上面的類似
<script language="javascript">
function submitonce(jb51_net){
if(document.all||document.getElementById){
for(i=0;i<jb51_net.length;i++){
var tempobj=jb51_net.elements[i];
if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
tempobj.disabled=true;
}
}
}
</script>
<form action="http://www.jb51.net" method="post" name="jb51_net" onSubmit="submitonce(this)">
<input type="text" name="name">
<input type="submit" name="submit1" value="提交">
</form>
</body>
</html>
新聞熱點
疑難解答