//保存密码 form.on('submit(changePwd)', function (data) { var ajaxReturnData; //登陆验证 $.ajax({ url: path + '/user/savePwd.do', type: 'post', async: false, data: data.field, success: function (data) { ajaxReturnData = data; //修改成功 if (ajaxReturnData == '0') { test() } else { if (ajaxReturnData == '1') { layer.msg('新密码和确认密码不一致', {icon: 5}); } else if (ajaxReturnData == '2') { layer.msg('旧密码不正确', {icon: 5}); } else { layer.msg('保存失败', {icon: 5}); } return false; } } }); console.log('提交成功'); return false; }); }) function test(){ console.log(111); layer.open({ content: '点击确定按钮返回到登录页面' ,btn: ['确定','取消'] ,yes: function(index, layero){ window.location.href=path + '/login/logout.do'; //按钮【按钮一】的回调 }, btn2: function(index, layero){ //按钮【按钮二】的回调 console.log(222) //return false 开启该代码可禁止点击该按钮关闭 }, cancle:function () { console.log(333) } }); };
原因:submit函数提交后会自动刷新,看见那个form.on 最后的return false了吗?这个是阻止自动刷新的关键,layer.open里面的回调才会生效,layui 有的地方是真的坑.