程式介紹:
1.方法一:hiddenForm 隱藏表單法: 查看函數 hiddenForm
2.方法二:disButtons 禁用按鈕法: 查看函數 disButtons disButtons2
3.本程式為用戶端javascript程式限制多次提交,冰河原創首發藍色理想,歡迎大家轉載,但請保留本人資訊,謝謝
4.源碼發布在My Phone主題站: http://www.qumiao.com/javascript/disRepSubmit.rar (本人所有原創程式均打包發在此)
5.作者郵箱及QQ: binghe6218@163.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 style=’display:none;’>"+frm.innerHTML+"</div>"+waitStr; } |
/*
函數名稱: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); } } } } } |