91 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			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> |