LAYUI

FORM 验证

两次密码输入一致

第一个密码输入框加 required lay-verify=“required”
第二个密码输入框加 required lay-verify=“required|confirmPass”,然后在js中定义一个confirmPass方法,用于密码验证

<div class="layui-form-item">
    <label class="layui-form-label">密码</label>
    <div class="layui-input-inline">
        <input type="password" name="password" required lay-verify="required" placeholder="请输入密码"
               autocomplete="off" class="layui-input login_input">
    </div>
</div>

<div class="layui-form-item">
    <label class="layui-form-label">重复密码</label>
    <div class="layui-input-inline">
        <input type="password" name="password2" required lay-verify="required|confirmPass" placeholder="请重复密码"
               autocomplete="off" class="layui-input login_input">
    </div>
</div>
// 验证两次密码是否一致
layui.use(['form','layedit'],function () {

    var form = layui.form;

    form.verify({

        confirmPass:function (value) {

            if ($('input[name=password]').val() !==value){

                return '两次密码输入不一致'
            }

        }

    });
    
});

CSRF

HTML

{% csrf_token %}
<button type="button" class="layui-btn layui-btn-sm" id="data_content_upload_file">
    <i class="layui-icon">&#xe67c;</i>导入数据
</button>

JS

layui.use('upload', function () {


    var
        upload = layui.upload,
        layer = layui.layer,
        $ = layui.$;

    var token_value = $('[name="csrfmiddlewaretoken"]').val();

    upload.render({ //允许上传的文件后缀
        elem: '#data_content_upload_file'
        , url: `/upload_file/upload/?project_pk=${project_pk}` //改成您自己的上传接口
        , accept: 'file' //普通文件
        , size: 1024 * 5 //限制文件大小,单位 KB
        , exts: 'xlsx' //只允许上传压缩文件
        {#,exts: 'zip|rar|7z' //只允许上传压缩文件#}
        , data: {'csrfmiddlewaretoken': token_value}
        , done: function (res) {
            layer.msg('上传成功');
            console.log(res)
        }
    });
});

自定义弹出框的位置

case'DeleteKws':
    var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
    var data = checkStatus.data;  //获取选中行数据
    data = data[0];  // 由于data是一个list,因此要切片
    var jsonData = JSON.stringify(data);// 转成JSON格式
    var result = $.parseJSON(jsonData);// 转成JSON对象
    var name = result['name'];
    //询问框
    layer.confirm(`删除数据:${name}
                        `, {
        offset: ['10%',],  // 距离上边框10%,不再居中显示
        shade: 0.8,         // 背景变暗系数为0.8
        btn: ['确定', '取消'] //按钮
    }, function () {

        window.location.href = `/literature/delete_keyword/?name=${name}`;
    });
    break;

    layer.open({

        type: 1,
        title: '新建关键词',
        closeBtn: 0,
        shadeClose: true, //开启遮罩关闭
        // area: ['50%', '80%'],
        offset: ['10%',],
        shade: 0.8,
        id: id,
        // btn:['确定','取消'],
        content: tpl,

    });

手风琴

HTML

<div class="layui-collapse">
    <div class="layui-colla-item">
        <h2 class="layui-colla-title">杜甫</h2>
        <div class="layui-colla-content layui-show">内容区域</div>
    </div>
    <div class="layui-colla-item">
        <h2 class="layui-colla-title">李清照</h2>
        <div class="layui-colla-content layui-show">内容区域</div>
    </div>
    <div class="layui-colla-item">
        <h2 class="layui-colla-title">鲁迅</h2>
        <div class="layui-colla-content layui-show">内容区域</div>
    </div>
</div>

JS

合并

// 只需要添加'element'就好,不需要在函数内部写任何代码,就可以实现基本的手风琴效果
layui.use(['table', 'layer','element'], function () {……});

单独

layui.use('element', function(){
  var element = layui.element;
  
  //…
});

手动关闭comfirm,并重新加载table

JS

layer.confirm('确定要删除这张图片么?', function (index) {

    layer.close(index);
    table.reload()

})

标题 单元格点击事件监听

HTML

<table class="layui-hide" id="data_contents" lay-filter="data_contents">
</table>

JS

layui.use(['table', 'layer', 'laydate'], function () {

    var table = layui.table,
        laydate = layui.laydate,
        layer = layui.layer;

    // 所有研究项目的数据
    table.render({
        elem: '#data_contents'
        , url: api //数据接口
        , page: true //开启分页
        , toolbar: '#toolbarDemo' // 工具栏
        , cols: [[ //表头

            {field: 'username', title: '用户名', sort: true, width: 120}

          , {field: 'explainations_length', title: '解析', sort: true,event: 'showExplaination',style:'cursor: pointer;'}


        ]]
    });

    //监听单元格事件

    table.on('tool(data_contents)', function (obj) {
        var data = obj.data;
        var uid = data.uid;
        var username = data.username;
        var performance = data.performance;
        if (obj.event === 'showExplaination') {
            var url = `/question_bank/check_questions/?mode=explaination&pk=${uid}`;
            window.open(url, '_blank')
        }
    });
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行医冶文

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值