--- fenglin/bbs/reg_user.php 2025/03/31 14:11:49 1.1 +++ fenglin/bbs/reg_user.php 2025/04/02 02:36:51 1.3 @@ -18,18 +18,22 @@ function vn_refresh(img) return false; } -function reset_flag() +function refresh_err_msg(errorFieldMap) { - var s = document.getElementsByName("err_msg"); - - s.forEach(element => { - element.innerHTML = ""; + document.getElementsByName("err_msg").forEach(element => { + if (errorFieldMap.has(element.id)) + { + element.innerHTML = errorFieldMap.get(element.id); + } + else + { + element.innerHTML = ""; + } }); } -function regsub(f) +function reg_sub(f) { - reset_flag(); instance.post('reg_user_service.php', { username: f.username.value, nickname: f.nickname.value, @@ -46,20 +50,23 @@ function regsub(f) }) .then(function (response) { var ret = response.data; + var errorFieldMap = new Map(); switch (ret.return.code) { case 0: // OK - window.alert("注册成功,请查收邮件"); - document.location = "index.php"; + errorFieldMap.set("err_msg_prompt", "注册成功,请查收邮件"); + refresh_err_msg(errorFieldMap); break; case -1: // Input validation failed ret.return.errorFields.forEach(field => { - document.getElementById("err_msg_" + field.id).innerHTML = field.errMsg + "
"; + errorFieldMap.set("err_msg_" + field.id, field.errMsg + "
"); }); + refresh_err_msg(errorFieldMap); break; case -2: // Internal error console.log(ret.return.message); - document.getElementById("err_msg_username").innerHTML = "内部错误
"; + errorFieldMap.set("err_msg_prompt", "内部错误"); + refresh_err_msg(errorFieldMap); break; default: console.log(ret.return.code); @@ -79,11 +86,20 @@ const instance = axios.create({ baseURL: document.location.protocol + '//' + document.location.hostname + (document.location.port=='' ? '' : (':' + document.location.port)) + '/bbs/', }); +window.addEventListener("load", () => { + var f = document.getElementById("reg_form"); + f.addEventListener("submit", (e) => { + e.preventDefault(); + reg_sub(f); + }); +}); +
-
+

新用户注册

+

@@ -133,7 +149,7 @@ const instance = axios.create({ * - 请务必准确填写,否则无法激活账号
+ 请务必准确填写,否则无法激活账户