--- 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: echo $id; ?>,
reply_id: echo $reply_id; ?>,
sid: echo $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", () => {