ruankao/app/index/view/user/update_password.php
2025-07-14 14:55:25 +08:00

91 lines
3.2 KiB
PHP

{include file="component/head" /}
<form class="layui-form" action="/index/user/updatePassword" method="post">
<div class="layui-form-item">
<label class="layui-form-label">旧密码</label>
<div class="layui-input-block">
<input type="password" name="old_password" required lay-verify="required" placeholder="请输入旧密码"
autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">新密码</label>
<div class="layui-input-block">
<input type="password" name="new_password" required lay-verify="required|password" placeholder="请输入新密码"
autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">确认密码</label>
<div class="layui-input-block">
<input type="password" name="confirm_password" required lay-verify="required|confirmPassword"
placeholder="请再次输入新密码" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="updatePassword">立即修改</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>
<script>
layui.use(['form', 'layer'], function () {
var form = layui.form;
var layer = layui.layer;
var $ = layui.$;
// 自定义验证规则
form.verify({
password: [
/^[\S]{6,20}$/,
'密码长度必须在6-20个字符之间'
],
confirmPassword: function (value) {
var password = document.querySelector('input[name=new_password]').value;
if (value !== password) {
return '两次输入的密码不一致';
}
}
});
// 监听提交
form.on('submit(updatePassword)', function (data) {
// 显示加载中
var loadIndex = layer.load(2);
$.ajax({
url: '/index/user/updatePassword',
type: 'POST',
data: data.field,
dataType: 'json',
success: function (res) {
layer.close(loadIndex);
if (res.code === 0) {
layer.msg(res.msg, {
icon: 1,
time: 1000,
end: function() {
// 设置跳转标记
parent.window.needRedirect = true;
// 关闭当前弹窗
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
}
});
} else {
layer.msg(res.msg, { icon: 2 });
}
},
error: function() {
layer.close(loadIndex);
layer.msg('请求失败,请重试', { icon: 2 });
}
});
return false; // 阻止表单默认提交
});
});
</script>