form.on(submit)中的layer.open无法加载回调函数,无法执行点击弹窗按钮跳转页面

//保存密码
    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 有的地方是真的坑.

你可能感兴趣的:(前端,layui)