js阻止form表單重複提交

2022-05-14 20:35:48 字數 1059 閱讀 7039

防止表單重複提交的方法總體來說有兩種,一種是在js中阻止重複提交;另一種是在後台利用token令牌實現,大致思路是生成乙個隨機碼放到session和form表單的隱藏輸入框中,提交表單時兩者對比,表單處理完畢清空或者修改session中的token。

在js中處理簡單易懂,同時能解決我現在所做的專案中的問題,目前暫用js處理,後期如有需要再研究token機制。**如下:

1、表單提交後禁用提交按鈕(在本專案中表單提交完成後,如果處理成功都把form表單關掉了)

1/**

2* form表單格式驗證通過之後、表單提交前將提交按鈕禁用(注意順序)

3* @param submitbtnid 提交按鈕id

4* @param btntype 按鈕型別 'button'或者'linkbutton'

5* @returns 6*/

7function

disablesubmitbtn(submitbtnid, btntype)else

if(btntype == 'linkbutton')

13return

true

;14 }

由於在專案中有用到普通button和easyui的linkbutton兩種按鈕,而禁用這兩種按鈕的方法不同,所以需要多傳乙個引數btntype(按鈕型別)

2、如果提交表單失敗則啟用按鈕,以便使用者修改內容後再次提交

1/**

2* form表單提交失敗後將提交按鈕開啟,以便使用者修改資料後再次提交

3* @param submitbtnid 提交按鈕id

4* @param btntype 按鈕型別 'button'或者'linkbutton'

5* @returns 6*/

7function

enablesubmitbtn(submitbtnid, btntype)else

if(btntype == 'linkbutton')

13return

true

;14 }

3、在每次表單提交時呼叫這兩個方法,具體放的位置根據實際業務邏輯而定

阻止form表單提交的問題

阻止form表單提交這種場景可能在生活中,我們經常碰到,而在我們第一印象裡面可能我們用return false 去阻止表單預設行為。但是,有中情況我們用return false 不能阻止表單提交 class warp 這裡有更多的知識分享,交流。以上 我們看著,好像沒有錯誤,但是,表單依然可以提交,...

form表單提交

表單的enctype屬性 enctype 屬性規定在傳送到伺服器之前應該如何對表單資料進行編碼。value 值 描述在傳送前編碼所有字元 預設 multipart form data 不對字元編碼。在使用包含檔案上傳控制項的表單時,必須使用該值。text plain 空格轉換為 加號,但不對特殊字元...

form表單提交

1.當輸入使用者名稱和密碼為空的時候,需要判斷。這時候就用到了校驗使用者名稱和密碼,這個需要在jsp的前端頁面寫 有兩種方法,一種是用submit提交。一種是用button提交。方法一 在jsp的前端頁面的頭部插入乙個js方法 function checkuser if password else ...