--- 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);
+ });
+});
+