| 166 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| 167 |
<title>发表文章</title> |
<title>发表文章</title> |
| 168 |
<link rel="stylesheet" href="css/default.css" type="text/css"> |
<link rel="stylesheet" href="css/default.css" type="text/css"> |
| 169 |
<script language="JavaScript" src="/js/nw_open.js"></script> |
<script type="text/javascript" src="../js/nw_open.js"></script> |
| 170 |
<script language="JavaScript" src="/js/lml_assistant.js"></script> |
<script type="text/javascript" src="../js/lml_assistant.js"></script> |
| 171 |
<script src="../js/polyfill.min.js"></script> |
<script src="../js/polyfill.min.js"></script> |
| 172 |
<script src="../js/axios.min.js"></script> |
<script src="../js/axios.min.js"></script> |
| 173 |
<script type="text/javascript"> |
<script type="text/javascript"> |
| 174 |
function refresh_err_msg(errorFieldMap) |
function refresh_err_msg(errorFieldMap) |
| 175 |
{ |
{ |
| 176 |
document.getElementsByName("err_msg").forEach(element => { |
document.getElementsByName("err_msg").forEach(element => { |
| 177 |
if (errorFieldMap.has(element.id)) |
element.innerHTML = (errorFieldMap.has(element.id) ? errorFieldMap.get(element.id) : ""); |
| 178 |
{ |
}); |
| 179 |
element.innerHTML = errorFieldMap.get(element.id); |
} |
| 180 |
} |
|
| 181 |
else |
function refresh_textarea(updateFieldMap) |
| 182 |
|
{ |
| 183 |
|
document.getElementsByName("textarea").forEach(element => { |
| 184 |
|
if (updateFieldMap.has(element.id)) |
| 185 |
{ |
{ |
| 186 |
element.innerHTML = ""; |
element.value = updateFieldMap.get(element.id); |
| 187 |
} |
} |
| 188 |
}); |
}); |
| 189 |
} |
} |
| 194 |
id: <? echo $id; ?>, |
id: <? echo $id; ?>, |
| 195 |
reply_id: <? echo $reply_id; ?>, |
reply_id: <? echo $reply_id; ?>, |
| 196 |
sid: <? echo $sid; ?>, |
sid: <? echo $sid; ?>, |
| 197 |
title: f.title.value, |
title: f.textarea_title.value, |
| 198 |
transship: (f.transship != null && f.transship.checked ? "1" : "0"), |
transship: (f.transship != null && f.transship.checked ? "1" : "0"), |
| 199 |
content: f.content.value, |
content: f.textarea_content.value, |
| 200 |
emoji: f.emoji.value, |
emoji: f.emoji.value, |
| 201 |
sign_id: (f.use_sign != null && f.use_sign.checked ? f.sign_id.value : "0"), |
sign_id: f.sign_id.value, |
| 202 |
reply_note: (f.reply_note.checked ? "1" : "0"), |
reply_note: (f.reply_note.checked ? "1" : "0"), |
| 203 |
attachment: f.attachment.files, |
attachment: f.attachment.files, |
| 204 |
}, { |
}, { |
| 209 |
.then(function (response) { |
.then(function (response) { |
| 210 |
var ret = response.data; |
var ret = response.data; |
| 211 |
var errorFieldMap = new Map(); |
var errorFieldMap = new Map(); |
| 212 |
|
var updateFieldMap = new Map(); |
| 213 |
switch (ret.return.code) |
switch (ret.return.code) |
| 214 |
{ |
{ |
| 215 |
case 0: // OK |
case 0: // OK |
| 216 |
var returnPath = "view_article.php?id=" + ret.return.tid + "#" + ret.return.aid; |
var returnPath = "view_article.php?id=" + ret.return.aid + "#" + ret.return.aid; |
| 217 |
document.location = returnPath; |
document.location = returnPath; |
| 218 |
refresh_err_msg(errorFieldMap); |
refresh_err_msg(errorFieldMap); |
| 219 |
break; |
break; |
| 220 |
case -1: // Input validation failed |
case -1: // Input validation failed |
| 221 |
ret.return.errorFields.forEach(field => { |
ret.return.errorFields.forEach(field => { |
| 222 |
errorFieldMap.set("err_msg_" + field.id, "<br />" + field.errMsg); |
errorFieldMap.set("err_msg_" + field.id, "<br />" + field.errMsg); |
| 223 |
|
updateFieldMap.set("textarea_" + field.id, field.updateValue); |
| 224 |
}); |
}); |
| 225 |
refresh_err_msg(errorFieldMap); |
refresh_err_msg(errorFieldMap); |
| 226 |
|
refresh_textarea(updateFieldMap); |
| 227 |
break; |
break; |
| 228 |
case -2: // Internal error |
case -2: // Internal error |
| 229 |
console.log(ret.return.message); |
console.log(ret.return.message); |
| 336 |
<tr> |
<tr> |
| 337 |
<td width="10%" align="right">标题<span id="err_msg_title" name="err_msg" style="color: red;"></span></td> |
<td width="10%" align="right">标题<span id="err_msg_title" name="err_msg" style="color: red;"></span></td> |
| 338 |
<td width="90%"> |
<td width="90%"> |
| 339 |
<input type="text" name="title" id="title" size="80" <? echo ($id != 0 ? "readonly" : ""); ?> value="<? echo ($reply_id > 0 ? split_line(htmlspecialchars($title, ENT_QUOTES | ENT_HTML401, 'UTF-8'), "Re: ", 80, 1) : htmlspecialchars($title, ENT_QUOTES | ENT_HTML401, 'UTF-8')); ?>"> |
<input type="text" name="textarea" id="textarea_title" size="80" <? echo ($id != 0 ? "readonly" : ""); ?> value="<? echo ($reply_id > 0 ? split_line(htmlspecialchars($title, ENT_QUOTES | ENT_HTML401, 'UTF-8'), "Re: ", 80, 1) : htmlspecialchars($title, ENT_QUOTES | ENT_HTML401, 'UTF-8')); ?>"> |
| 340 |
<? |
<? |
| 341 |
if ($id == 0 && $reply_id == 0) |
if ($id == 0 && $reply_id == 0) |
| 342 |
{ |
{ |
| 349 |
<tr> |
<tr> |
| 350 |
<td align="right">正文<span id="err_msg_content" name="err_msg" style="color: red;"></span></td> |
<td align="right">正文<span id="err_msg_content" name="err_msg" style="color: red;"></span></td> |
| 351 |
<td> |
<td> |
| 352 |
<textarea name="content" id="content" cols="80" rows="25"><? |
<textarea name="textarea" id="textarea_content" cols="80" rows="25"><? |
| 353 |
if ($reply_id == 0) |
if ($reply_id == 0) |
| 354 |
{ |
{ |
| 355 |
echo htmlspecialchars($content, ENT_HTML401, 'UTF-8'); |
echo htmlspecialchars($content, ENT_HTML401, 'UTF-8'); |
| 435 |
</td> |
</td> |
| 436 |
</tr> |
</tr> |
| 437 |
<tr> |
<tr> |
| 438 |
<td align="right">表情<span id="err_msg_emoji" name="err_msg" style="color: red;"></td> |
<td align="right">表情<span id="err_msg_emoji" name="err_msg" style="color: red;"></span></td> |
| 439 |
<td><? |
<td><? |
| 440 |
for ($i = 1; $i <= $BBS_emoji_count; $i++) |
for ($i = 1; $i <= $BBS_emoji_count; $i++) |
| 441 |
{ |
{ |
| 452 |
{ |
{ |
| 453 |
?> |
?> |
| 454 |
<tr> |
<tr> |
| 455 |
<td align="right"><span id="err_msg_sign" name="err_msg" style="color: red;"></td> |
<td align="right">签名<span id="err_msg_sign" name="err_msg" style="color: red;"></span></td> |
| 456 |
<td> |
<td> |
| 457 |
<input type="checkbox" name="use_sign">使用我的个人签名 |
<input type="radio" id="sign_id_0" name="sign_id" value="0" checked>不使用 |
| 458 |
<input type="radio" id="sign_id_1" name="sign_id" value="1" checked>1 |
<input type="radio" id="sign_id_1" name="sign_id" value="1">1 |
| 459 |
<input type="radio" id="sign_id_2" name="sign_id" value="2">2 |
<input type="radio" id="sign_id_2" name="sign_id" value="2">2 |
| 460 |
<input type="radio" id="sign_id_3" name="sign_id" value="3">3 |
<input type="radio" id="sign_id_3" name="sign_id" value="3">3 |
| 461 |
<a class="s0" href="" onclick="return NW_open('preference.php', 'member_service', 500, 550);">设置个人签名</a> |
<a class="s0" href="preference.php" target=_blank>设置个人签名</a> |
| 462 |
</td> |
</td> |
| 463 |
</tr> |
</tr> |
| 464 |
<? |
<? |
| 465 |
} |
} |
| 466 |
|
else |
| 467 |
|
{ |
| 468 |
|
?> |
| 469 |
|
<input type="hidden" id="sign_id_0" name="sign_id" value="0"> |
| 470 |
|
<? |
| 471 |
|
} |
| 472 |
?> |
?> |
| 473 |
<tr> |
<tr> |
| 474 |
<td align="right"></td> |
<td align="right"></td> |