fix: 修复评论提交后表单状态未清除的问题
- 将表单重置代码移到 success 回调的最前面,确保优先执行 - 将表单重置与 UI 更新(插入评论、滚动)分离,避免异常影响表单重置 - 确保评论内容、验证码、Geetest 状态都能正确清除 - 修复需要刷新页面才能再次发送评论的问题
This commit is contained in:
@@ -1635,7 +1635,36 @@ if (argonConfig.waterflow_columns != "1") {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//发送成功
|
//发送成功
|
||||||
// 使用 setTimeout 确保 iziToast 操作在下一个事件循环中执行
|
// 先复位评论表单(确保无论后续操作是否成功都能重置表单)
|
||||||
|
cancelReply();
|
||||||
|
$("#post_comment_content").val("");
|
||||||
|
|
||||||
|
// 重置数学验证码
|
||||||
|
$("#post_comment_captcha_seed").val(result.newCaptchaSeed);
|
||||||
|
$("#post_comment_captcha + style").html(".post-comment-captcha-container:before{content: '" + result.newCaptcha + "';}");
|
||||||
|
$("#post_comment_captcha").val("");
|
||||||
|
|
||||||
|
// 清空Geetest验证码隐藏字段并重置验证码实例
|
||||||
|
if ($("#geetest-captcha").length > 0) {
|
||||||
|
$("#geetest_lot_number").val("");
|
||||||
|
$("#geetest_captcha_output").val("");
|
||||||
|
$("#geetest_pass_token").val("");
|
||||||
|
$("#geetest_gen_time").val("");
|
||||||
|
// 重置验证状态标志位
|
||||||
|
window.geetestVerified = false;
|
||||||
|
// 重置自动提交标记
|
||||||
|
window.geetestAutoSubmitting = false;
|
||||||
|
// 重置 Geetest 实例,确保下一次可以重新验证
|
||||||
|
if (window.geetestCaptcha) {
|
||||||
|
try {
|
||||||
|
window.geetestCaptcha.reset();
|
||||||
|
} catch (e) {
|
||||||
|
ArgonDebug.warn('Geetest reset error:', e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 显示成功提示
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
try {
|
try {
|
||||||
iziToast.destroy();
|
iziToast.destroy();
|
||||||
@@ -1652,7 +1681,13 @@ if (argonConfig.waterflow_columns != "1") {
|
|||||||
icon: 'fa fa-check',
|
icon: 'fa fa-check',
|
||||||
timeout: 5000
|
timeout: 5000
|
||||||
});
|
});
|
||||||
//插入新评论
|
} catch (e) {
|
||||||
|
ArgonDebug.warn('iziToast error:', e);
|
||||||
|
}
|
||||||
|
}, 0);
|
||||||
|
|
||||||
|
// 插入新评论
|
||||||
|
try {
|
||||||
result.html = result.html.replace(/<(\/).noscript>/g, "");
|
result.html = result.html.replace(/<(\/).noscript>/g, "");
|
||||||
let parentID = result.parentID;
|
let parentID = result.parentID;
|
||||||
if (parentID == "" || parentID == null){
|
if (parentID == "" || parentID == null){
|
||||||
@@ -1676,40 +1711,14 @@ if (argonConfig.waterflow_columns != "1") {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
calcHumanTimesOnPage();
|
calcHumanTimesOnPage();
|
||||||
//复位评论表单
|
|
||||||
cancelReply();
|
|
||||||
$("#post_comment_content").val("");
|
|
||||||
// 重置数学验证码
|
|
||||||
$("#post_comment_captcha_seed").val(result.newCaptchaSeed);
|
|
||||||
$("#post_comment_captcha + style").html(".post-comment-captcha-container:before{content: '" + result.newCaptcha + "';}");
|
|
||||||
$("#post_comment_captcha").val(""); // 清空验证码输入框
|
|
||||||
|
|
||||||
// 清空Geetest验证码隐藏字段并重置验证码实例
|
// 滚动到新评论
|
||||||
if ($("#geetest-captcha").length > 0) {
|
|
||||||
$("#geetest_lot_number").val("");
|
|
||||||
$("#geetest_captcha_output").val("");
|
|
||||||
$("#geetest_pass_token").val("");
|
|
||||||
$("#geetest_gen_time").val("");
|
|
||||||
// 重置验证状态标志位
|
|
||||||
window.geetestVerified = false;
|
|
||||||
// 重置自动提交标记
|
|
||||||
window.geetestAutoSubmitting = false;
|
|
||||||
// 重置 Geetest 实例,确保下一次可以重新验证
|
|
||||||
if (window.geetestCaptcha) {
|
|
||||||
try {
|
|
||||||
window.geetestCaptcha.reset();
|
|
||||||
} catch (e) {
|
|
||||||
ArgonDebug.warn('Geetest reset error:', e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$("body,html").animate({
|
$("body,html").animate({
|
||||||
scrollTop: $("#comment-" + result.id).offset().top - 100
|
scrollTop: $("#comment-" + result.id).offset().top - 100
|
||||||
}, 500, 'easeOutExpo');
|
}, 500, 'easeOutExpo');
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
ArgonDebug.warn('Comment insertion error:', e);
|
ArgonDebug.warn('Comment insertion error:', e);
|
||||||
}
|
}
|
||||||
}, 0);
|
|
||||||
},
|
},
|
||||||
error: function(result){
|
error: function(result){
|
||||||
$("#post_comment").removeClass("sending");
|
$("#post_comment").removeClass("sending");
|
||||||
|
|||||||
Reference in New Issue
Block a user