本文詳細記錄網上圖書商城專案中用戶註冊模組的前端實現,包含表單驗證、圖片切換、AJAX 異步校驗等核心功能,採用 jQuery 實現豐富的交互體驗。
註冊頁面主要包含五大核心邏輯模組:
var funName = "validate" + id.substring(0,1).toUpperCase() + id.substring(1) + "()"; eval(funName);
利用輸入框 ID 動態構建驗證函數名(如 loginname → validateLoginname()),透過 eval() 執行,實現驗證邏輯的統一入口與擴展性。
登錄名、Email、驗證碼均採用 async: false 同步請求:
$.ajax({
url: "/goods/UserServlet",
data: {method: "ajaxValidateLoginname", loginname: value},
type: "POST",
dataType: "json",
async: false, // 關鍵:阻塞等待後端響應
success: function(result) {
if(!result) { /* 顯示錯誤 */ }
}
});
注意:同步 AJAX 會阻塞主執行緒,現代開發建議改用 Promise/async-await 非同步模式,配合表單提交前的統一驗證流程。
function _hyz() {
$("#imgVerifyCode").attr("src", "/goods/VerifyCodeServlet?a=" + new Date().getTime());
}
透過時間戳參數防止瀏覽器快取,確保每次請求獲取最新驗證碼圖片。
function showError(ele) {
var text = ele.text();
if(!text) ele.css("display", "none");
else ele.css("display", "");
}
統一的顯示/隱藏邏輯:有錯誤文字時顯示 label,否則隱藏,簡潔高效。
此註冊模組展示了傳統 jQuery 時代前端工程化的典型模式,雖然技術棧已演進,但其表單驗證的核心邏輯與用戶體驗設計思想仍具參考價值。