layui无刷新式弹框编辑、layui日期重复、layui弹框调表、layui时间控件重复

这篇具有很好参考价值的文章主要介绍了layui无刷新式弹框编辑、layui日期重复、layui弹框调表、layui时间控件重复。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

个人工作中前端遇到的问题总结,希望记录也能帮到看到帖子的你少走弯路!

------layui时间控件重复一定要检查动态传参是否与控件的类型一致(layui日期重复)

 var laydate = layui.laydate;

  var curDate = new Date();

  var endDate = (curDate.getFullYear()+1).toString() + '-' + (curDate.getMonth() + 1).toString() + '-' + curDate.getDate().toString();

    var startDate = (curDate.getFullYear()).toString() + '-' + (curDate.getMonth()+1 ).toString() + '-' + curDate.getDate().toString();

    // //日期组件

    var dateInstance =laydate.render({

        elem: '#validityPeriod',

        type: 'datetime',//类型要一定要相匹配

        min: startDate,

        max: endDate

    });

----------layui无刷新式弹框编辑

---------------html部分

  <!-- 测试1 -->

    <script type="text/html" id="edit_form">

        <div class="layui-col-md10" style="margin-left: 35px;margin-top: 20px">

            <form class="layui-form layui-form-pane" lay-filter="edit_form" action="">

                <div class="layui-form-item">

                    <label class="layui-form-label">用户名</label>

                    <div class="layui-input-block">

                        <input type="text" name="user_name" 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="text" name="mail_address" 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">

                        <select name="mail_type" lay-verify="required" lay-filter="mail_type">

                            <option value="">请选择</option>

                            <option value="注册邮件">注册邮件</option>

                            <option value="报名邮件">报名邮件</option>

                        </select>

                    </div>

                </div>

                <div class="layui-form-item">

                    <div class="layui-inline">

                        <label class="layui-form-label">验证日期</label>

                        <div class="layui-input-inline">

                            <input type="text" name="date" id="date" lay-verify="date" placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">

                        </div>

                    </div>

                </div>

                <div class="layui-form-item" style="margin-top: 20px">

                    <div class="layui-input-block">

                        <button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>

                        <button type="reset" class="layui-btn layui-btn-primary">重置</button>

                    </div>

                </div>

            </form>

        </div>

    </script>

   <!-- 测试 2-->

    <form class="layui-form" action="" id="formStaff" lay-filter="form-data" style="display: none;">

        <div class="layui-row layui-col-space10">

            <div class="layui-col-md8 layui-col-xs8">

                <div class="layui-form-item">

                    <label class="layui-form-label">员工姓名<span style="color:red;"> * </span></label>

                    <div class="layui-input-block">

                        <input type="text" id="employeeName" name="employeeName" required

                            lay-verify="required|employeeName" placeholder="请输入员工姓名" autocomplete="off"

                            class="layui-input">

                    </div>

                </div>

                <div class="layui-form-item">

                    <label class="layui-form-label">职业<span style="color:red;"> * </span></label>

                    <div class="layui-input-block">

                        <select name="type" lay-verify="required">

                            <option value="">请选择</option>

                        </select>

                    </div>

                </div>

                <div class="layui-form-item">

                    <label class="layui-form-label">身份<span style="color:red;"> * </span></label>

                    <div class="layui-input-block">

                        <select name="status" lay-verify="required">

                            <option value="">请选择</option>

                        </select>

                    </div>

                </div>

            </div>

            <div class="layui-col-md4 layui-col-xs4" style="text-align: center;">

                <img class="layui-upload-img" id="logo"

                    style="border:1px solid #CCC; padding:2px; vertical-align: middle;">

                <input type="file" id="inputFile" class="layui-hide">

            </div>

            <div class="layui-form-item">

                <label class="layui-form-label ">性别<span style="color:red;"> * </span></label>

                <div class="layui-input-inline">

                    <select name="gender" lay-verify="required">

                        <option value="">请选择</option>

                    </select>

                </div>

                <label class="layui-form-label">VIP特权</label>

                <div class="layui-input-inline">

                    <input type="checkbox" name="isVip" lay-skin="switch" lay-text="ON|OFF">

                </div>

            </div>

            <div class="layui-form-item">

                <label class="layui-form-label">员工卡号<span style="color:red;"> * </span></label>

                <div class="layui-input-inline">

                    <input type="text" id="cardId" name="cardId" placeholder="请输入卡号" required lay-verify="required|cardId" autocomplete="off" class="layui-input" style="width: 190px;">

                </div>

                <div class="layui-inline">

                     <label class="layui-form-label">卡号有效期<span style="color:red;"> * </span></label>

                    <div class="layui-input-inline" id="monthDate">

                       <input type="text" name="validityPeriod" id="validityPeriod" lay-verify="validityPeriod" required placeholder="yyyy-MM-dd" class="layui-input" style="width: 190px;" autocomplete="off">

                    </div>

                </div>

            </div>

            <div class="layui-form-item" style="height: 48px;margin-top: -30px;">

                <label class="layui-form-label required">联系电话</label>

                <div class="layui-input-inline">

                    <input type="text" name="phoneNumber" placeholder="请输入联系电话" autocomplete="off" lay-verify="telphone"

                        class="layui-input">

                </div>

                <label class="layui-form-label">邮箱</label>

                <div class="layui-input-inline">

                    <input type="text" name="email" lay-verify="email" placeholder="请输入邮箱" autocomplete="off"

                        class="layui-input">

                </div>

            </div>

            <div class="layui-form-item layui-form-text" style="margin-top: -10px;">

                <label class="layui-form-label">备注</label>

                <div class="layui-input-block">

                    <textarea name="remark" placeholder="请输入内容" autocomplete="off" rows="3" class="layui-textarea"

                        style="resize: none; min-height:30px; height: auto !important"></textarea>

                </div>

            </div>

        </div>

    </form>

-------------js部分

 //监听头部工具条

    table.on('toolbar(tableStaff)', function (obj) {

        switch (obj.event) {

            case 'btn-add':

                addStaff();

                break;

            case 'btn-test':

                test();

                break;

            default:

                break;

        }

    });

    //测试写法一

    function test() {

        layer.open({

            title:'修改用户信息',

            type:1,

            area:['420px','330px'],

            content:$('#edit_form').html(),

        })

        form.render()//更新渲染表单

        laydate.render({

            elem: '#date'

        });

        form.val('edit_form',{

            //填充表单

            user_name:"zhangsan",

            mail_address:"新疆",

            date:"2023-06-23"

        })

         //提交编辑表单

         form.on('submit(formDemo)',function(messge){

            console.log(messge.field);

            console.log(obj.data);

            $.ajax({

                url:"{:url('EmailManagement/edit_form')}",

                method:"POST",

                // traditional:true,

                data: {

                    id:obj.data.id,

                    old_meeting_register_id:obj.data.meeting_register_id,

                    old_mail_address:obj.data.mail_address,

                    old_mail_type:obj.data.mail_type,

                    new_meeting_register_id:messge.field.user_name,

                    new_mail_address:messge.field.mail_address,

                    new_mail_type:messge.field.mail_type

                },

                success:function (msg) {

                    console.log(msg);

                    // var returnCode = msg.returnValue//取得返回数据(Sting类型的字符串)的信息进行取值判断

                    if (msg) {

                        layer.closeAll('loading');

                        layer.load(2);

                        layer.msg("修改成功", {icon: 6});

                        setTimeout(function () {

                            obj.update({

                                meeting_register_id: messge.field.user_name,

                                mail_address: messge.field.mail_address,

                                mail_type: messge.field.mail_type

                            });//修改成功修改表格数据不进行跳转

                            layer.closeAll();//关闭所有的弹出层

                        }, 1000);

                        // 加载层 - 风格

                    } else {

                        layer.msg("修改失败", {icon: 5});

                    }

                }

            })

            return false;//阻止表单跳转,网页url不显示提交的参数。

        })

    }

    //测试写法二

//编辑员工

    function editStaff(data) {

        $("#cardId").addClass("layui-disabled");

        $("#cardId").attr("readonly", "readonly");

        $("#cardId").attr("lay-verify", "");

        data.isVip ? $(":input[name='isVip']").attr("checked","") :                     $(":input[name='isVip']").removeAttr("checked");

        $("#formStaff")[0].reset();

        $("#logo").attr("src", g_const.url + data.avatar);

        form.val('form-data', data);

        form.render();

        layer.open({

            type: 1,

            area: '700px',

            title: '编辑员工',

            content: $("#formStaff"),

            shade: 0,

            scrollbar: true,

            btn: ['确定', '取消'],

            yes: function (index, layero) {

                if (!layui.form.check("formStaff")) {

                    return;

                }

                let staff = form.val("form-data");

                let formData = new FormData();

                for (let item in staff) {

                    formData.append(item, staff[item]);

                };

                $.ajax({

                    type: "put",

                    url: g_const.orb_url 

                    dataType: "json",

                    cache: false, //上传文件无需缓存

                    processData: false, // 使数据不做处理

                    contentType: false, // 不要设置Content-Type请求头

                    data: formData,

                    success: function (res) {

                        layer.msg(res.msg, {

                            icon: res.code == 0 ? 1 : 2,

                            time: 2000

                        });

                        if (res.code == 0) {

                            $('#btnSearch').click();

                            layer.close(index);

                        }

                    },

                    error: function (XMLHttpRequest, textStatus, errorThrown) {

                        layer.msg("Error: status " + textStatus + "," + errorThrown);

                    },

                    complete: function (xhr, textStatus) {

                    }

                })

            },

            success: function (result, textStatus) {

            }

        });

    }

   文章来源地址https://www.toymoban.com/news/detail-516526.html

到了这里,关于layui无刷新式弹框编辑、layui日期重复、layui弹框调表、layui时间控件重复的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp微信小程序 401时重复弹出登录弹框问题

    APP.vue 登陆成功后,保存登陆信息 退出登录 http.js

    2024年02月14日
    浏览(62)
  • layui laydate 提示“日期格式不正确”

    通过查看layui的源码, 可以看到 lay-verify=\\\"date\\\"   只验证 年月日,不支持时分秒。 最佳实践 1)日期框只能下拉,禁止输入,+不验证 2)自定义验证,参考layui文档,地址 表单组件 form - Layui 文档 补充: 我写的验证: 反正格式化方法肯定有了,直接用 //原理,通过new Date 默

    2024年02月07日
    浏览(53)
  • layui(4)——内置模块日期与时间选择

    通过核心方法: laydate.render(options) 来设置基础参数,也可以通过方法: laydate.set(options) 来设定全局基础参数. 类型: String/DOM ,默认值: 无 必填项,用于绑定执行日期渲染的元素,值一般为选择器,或DOM对象 类型: String ,默认值: date 用于单独提供不同的选择器类型,可

    2024年02月10日
    浏览(56)
  • SpringBoot+layUI实现表格的某一列数据刷新功能案例分享

    ✅作者简介:2022年 博客新星 第八 。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:Java案例分享专栏 ✨特色专栏:国学周更-心性养成之路 🥭本文内容:如何入门Python——学习

    2024年02月06日
    浏览(80)
  • Layui快速入门之第十三节 日期与时间选择器

    目录 一:基本用法 API 渲染 属性 弹出提示 2.8+ 获取实例 2.8+ 解除实例绑定 2.8+ 关闭日期面板 2.7+ 获取某月的最后一天 二:常规用法 三:多类型选择器  四:范围选择 五:直接静态显示 六:更多功能示例            Layui 是一个基于 jQuery 的前端UI框架,它提供了众多的

    2024年02月07日
    浏览(54)
  • layui中laydate日期组件闪动打不开问题解决

    在laydate.render里配置 trigger:\\\'click’ 就可以了(已解决)

    2024年02月16日
    浏览(41)
  • layui的基本使用-日期控件的业务场景使用入门实战案例一

    效果镇楼;       1 前端UI层面;   苟日新一刻钟总结反观:  2  那么业务场景的话,就没有那么简单了。首先就是解决方案里面可不止一个文件夹,是多个项目组成的解决方案。比如仓储层,Repository项目,业务层项目,Services,同时各自对应了各自的接口项目;Model 实体

    2024年02月13日
    浏览(35)
  • layui 整合UEditor 百度编辑器

    layui 整合UEditor 百度编辑器 第一步:下载百度编辑器并配置好路径 百度编辑器下载地址:http://fex.baidu.com/ueditor/ 第二步:引入百度编辑器 代码如下: 第三步:提交表单部分 注意: 提交表单前一定要替换content的内容为编辑器内容,data.field.content = ue.getContent(); 否则,提交的

    2024年02月13日
    浏览(52)
  • vue中使用element-ui,重复点击按钮或多个请求同时报错时弹出多个message弹框解决方法

    1. 用这种 2. 参考: vue中使用element-ui,重复点击按钮或多个请求同时报错时弹出多个message弹框解决方法_donggua_123的博客-CSDN博客

    2024年02月11日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包