首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

JavaScript 表單驗證錯誤三次鎖定按鈕:eg.lock 缺少呼叫括號

     編輯:程式設計疑難解答

問題代碼片段

eg.err = function() {
    var el = eg.$("errnum");
    var old = el.value;
    el.value = parseInt(old) + 1;
    eg.lock // 錯誤:未呼叫函數,僅引用
};

錯誤原因

eg.lock 是函數引用,不會執行函數體。需加上括號 eg.lock() 才會實際執行鎖定邏輯。

修正後

eg.err = function() {
    var el = eg.$("errnum");
    var old = el.value;
    el.value = parseInt(old) + 1;
    eg.lock(); // 正確:呼叫函數
};

完整驗證流程說明

  1. 使用者提交表單 → eg.regCheck() 驗證各欄位。
  2. 驗證失敗 → eg.err() 累加錯誤計數 → eg.lock() 判斷 > 2 次則禁用提交按鈕、顯示解鎖按鈕。
  3. 點擊解鎖按鈕 → eg.unlock() 重置按鈕狀態、隱藏解鎖按鈕、錯誤計數建議同步歸零。

補充建議

  • eg.lock() 內建議加入 el.value = 0 重置計數,否則解鎖後再次錯誤會直接觸發鎖定。
  • 使用 addEventListener 替代內聯 onclick,分離結構與行為。
  • 密碼欄位建議加入 minlength、正則強度檢查。

修正括號後,錯誤三次鎖定、解鎖功能即可正常運作。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved