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

JSP/JS 表單驗證失效:Java 語法混入 JavaScript 導致語法錯誤

     編輯:程式設計綜合問答

錯誤代碼特徵


function check(f) {
    boolean ret = true;  // ❌ JS 沒有 boolean 關鍵字
    if (vcode != vc)) {  // ❌ 多餘右括號
        ...
    }
}

修正版


function check(f) {
    var pwd = f.upass.value;
    var acpwd = f.acupass.value;
    var vc = f.yanzheng.value;
    var vcode = f.img.value;  // 注意:img 是圖片元素,value 通常為空,需確認驗證碼獲取邏輯
    var ret = true;  // ✅ 用 var/let/const

    if (pwd != acpwd) {
        alert("兩次密碼不相同!!!");
        ret = false;
    } else if (vcode != vc) {  // ✅ 去除多餘括號
        alert("驗證碼不對!!!");
        ret = false;
    } else {
        document.forms[0].submit();
    }
    return ret;
}

常見 JSP/JS 混淆陷阱

錯誤寫法正確寫法說明
boolean x = true;var x = true;JS 弱類型,無類型關鍵字
int i = 0;let i = 0;同理
String s = "a";const s = "a";同理
if (a == b))if (a == b)括號匹配

驗證碼邏輯補充

f.img.value 無法獲取圖片驗證碼。正確做法:

  1. 後端生成驗證碼存入 Session:session.setAttribute("captcha", code)。
  2. 前端輸入框綁定 oninput 校驗長度,提交時 AJAX 校驗或表單提交後端比對 Session。
  3. 圖片 src="/captcha.jpg?t=" + Date.now() 防緩存。

總結

JSP 中內嵌 JS 時,**嚴禁使用 Java 語法**。使用瀏覽器開發者工具 Console 即可看到紅色語法錯誤,按行號定位修復。

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