前言
昨天群里有人问typecho
的文章密码保护功能,提示密码错误时怎么发出弹窗式提醒,而非跳转到错误提示页面,我就随后说了个ajax
提交表单的方式,刚刚试了一下确实很可以的,代码如下。
代码
代码是基于JQ
的哈,没有JQ
可以自行引用下,或者将下方代码改为原生js
代码
$(".protected").submit(function() {
var surl=$(".protected").attr("action");//表单地址
$.ajax({
type: "POST",
url:surl,
data:$('.protected').serialize(),// 你的form
async:true,
error: function(request) {
alert("密码提交失败,请刷新页面重试!");//ajax提交失败报错
},
success: function(data) {
if(data.indexOf("密码错误") >= 0 && ((data.indexOf("Error") >= 0 && data.indexOf("Error") <= 100) || data.indexOf("Typecho_Widget_Exception") >= 0)) {
alert("密码错误,请重试!");//密码错误弹窗提醒
}else{
location.reload();//密码正确刷新页面
}
}
});
return false;
});
代码更新记录
2021年1月28日 密码判断部分优化,兼容typecho的debug模式,并且支持js代码写在行内。
2020年8月18日 发布第一版本。
linkCard('.post-content','0');