--- fenglin/bbs/post.php 2025/04/05 04:13:08 1.5 +++ fenglin/bbs/post.php 2025/04/07 06:31:50 1.6 @@ -174,13 +174,16 @@ function refresh_err_msg(errorFieldMap) { document.getElementsByName("err_msg").forEach(element => { - if (errorFieldMap.has(element.id)) - { - element.innerHTML = errorFieldMap.get(element.id); - } - else + element.innerHTML = (errorFieldMap.has(element.id) ? errorFieldMap.get(element.id) : ""); + }); +} + +function refresh_textarea(updateFieldMap) +{ + document.getElementsByName("textarea").forEach(element => { + if (updateFieldMap.has(element.id)) { - element.innerHTML = ""; + element.value = updateFieldMap.get(element.id); } }); } @@ -191,9 +194,9 @@ function post_article(f) id: , reply_id: , sid: , - title: f.title.value, + title: f.textarea_title.value, transship: (f.transship != null && f.transship.checked ? "1" : "0"), - content: f.content.value, + content: f.textarea_content.value, emoji: f.emoji.value, sign_id: f.sign_id.value, reply_note: (f.reply_note.checked ? "1" : "0"), @@ -206,18 +209,21 @@ function post_article(f) .then(function (response) { var ret = response.data; var errorFieldMap = new Map(); + var updateFieldMap = new Map(); switch (ret.return.code) { case 0: // OK - var returnPath = "view_article.php?id=" + ret.return.tid + "#" + ret.return.aid; + var returnPath = "view_article.php?id=" + ret.return.aid + "#" + ret.return.aid; document.location = returnPath; refresh_err_msg(errorFieldMap); break; case -1: // Input validation failed ret.return.errorFields.forEach(field => { errorFieldMap.set("err_msg_" + field.id, "
" + field.errMsg); + updateFieldMap.set("textarea_" + field.id, field.updateValue); }); refresh_err_msg(errorFieldMap); + refresh_textarea(updateFieldMap); break; case -2: // Internal error console.log(ret.return.message); @@ -330,7 +336,7 @@ window.addEventListener("load", () => { 标题 - value=" 0 ? split_line(htmlspecialchars($title, ENT_QUOTES | ENT_HTML401, 'UTF-8'), "Re: ", 80, 1) : htmlspecialchars($title, ENT_QUOTES | ENT_HTML401, 'UTF-8')); ?>"> + value=" 0 ? split_line(htmlspecialchars($title, ENT_QUOTES | ENT_HTML401, 'UTF-8'), "Re: ", 80, 1) : htmlspecialchars($title, ENT_QUOTES | ENT_HTML401, 'UTF-8')); ?>"> { 正文 -