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;
}
| 錯誤寫法 | 正確寫法 | 說明 |
|---|---|---|
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 無法獲取圖片驗證碼。正確做法:
session.setAttribute("captcha", code)。oninput 校驗長度,提交時 AJAX 校驗或表單提交後端比對 Session。src="/captcha.jpg?t=" + Date.now() 防緩存。JSP 中內嵌 JS 時,**嚴禁使用 Java 語法**。使用瀏覽器開發者工具 Console 即可看到紅色語法錯誤,按行號定位修復。