MVC+Layui弹出表单模态框的实现代码

 更新时间:2024年01月15日 11:34:05   作者:它朝若是  
这篇文章主要介绍了MVC+Layui弹出表单模态框的实现代码,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

1、Html页面添加隐藏的form表单

<button class="layui-btn" id="add" lay-on="add">添 加</button>添加按钮
  <form class="layui-form" id="AddForm" method="post" lay-filter="example" style="width:360px;display:none;margin:auto;margin-top:20px">
    <div class="layui-form-item">
        <label class="layui-form-label">规格型号:</label>
        <input style="margin:auto" type="text" name="specification" lay-verify="required" autocomplete="off" placeholder="请输入规格型号" class="layui-input">
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">物料类型:</label>
        <div id="seltype" style="width:280px;margin-left:80px;"></div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">入库数量:</label>
        <input type="number" style="margin:auto" lay-affix="number" name="storagecount" placeholder="请输入入库数量" lay-verify="required" step="1" min="1" class="layui-input" onKeyUp="this.value=this.value.replace('.','');">
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">入库时间:</label>
        <input type="text" class="layui-input" id="storagetime" name="storagedt" lay-verify="required" placeholder="yyyy-MM-dd HH:mm:ss">
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">备注:</label>
        <input style="margin:auto" type="text"  name="remark" placeholder="备注信息" autocomplete="off" class="layui-input">
    </div>
</form>

2、js添加弹出框和提交事件

  layui.use(function () { 
        var layer = layui.layer;//弹出框
        var form = layui.form;//表单
        var laydate = layui.laydate//日期控件
        var util = layui.util;//获取模块
        // 日期时间选择器
        laydate.render({
            elem: '#storagetime',
            type: 'datetime',//可选多种类型,日期/日期时间等
            theme: 'molv'//墨绿色主题颜色
        });
 util.on('lay-on', {//触发控件
            'add': function () {//id为add控件
                $("#AddForm")[0].reset();//重置form表单
                var addLay = layer.open({
                    type: 1 //Page层类型
                    , skin: 'layui-layer-molv'//墨绿主题颜色
                    , area: ['430px']//模态框大小,尽量比form表单大
                    , title: ['新增物料入库', 'font-size:18px;text-align:center']
                    , btn: ['保存', '取消']
                    , closeBtn: 0
                    , shadeClose: false// 点击遮罩区域,关闭弹层
                    , shade: 0.2 //遮罩透明度
                    , content: $('#AddForm')//将form表单追加到弹窗中
                    , success: function (layero) {
                        var mask = $(".layui-layer-shade");
                        mask.appendTo(layero.parent());
                        //弹出层---进行校验1、将弹出层的确定按钮 转为layui的form提交按钮  2、写自定义的校验规则 3、通过from.on实现
                        //1.1 条件form标识
                        layero.addClass('layui-form');
                        //1.2 将保存按钮转为提交按钮
                        layero.find('.layui-layer-btn0').attr({
                            'lay-filter': 'formaddButton',
                            'lay-submit': ''
                        })
                        getmateriallist();//具体实现看上一篇复选下拉框
                    }
                    , yes: function () {//yes表示定义的第一个按钮
                       //3.1 点击form表单的 "提交"按钮,会先进行自定义的校验
                        form.on('submit(formaddButton)', function (data) {
                            data.field.materiallists = seltype.getValue()//具体实现看上一篇复选下拉框
                            $.ajax({
                                url: 'XXX',
                                data: data.field,//根据name值传递
                                type: 'POST',
                                success: function (res) {
                                    if (res.Status === "Success") {
                                        layer.close(addLay);//关闭当前窗口
                                        document.getElementById("AddForm").style.display = "none"//隐藏form表单
                                        //弹出消息框
                                        layer.msg(res.Message, {
                                            icon: 1,
                                            time: 500 //0.5秒关闭(如果不配置,默认是3秒)
                                        }, function () {
                                            //当前数据进行刷新,新增内容清空
                                        });
                                    }
                                    else {
                                        layer.msg(res.Message, { icon: 2 });
                                    }
                                }
                            })
                        })
                    }
                    , btn2: function () {
                       document.getElementById("AddForm").style.display = "none"//隐藏
                        layer.close(addLay);
                    }
                });
            },
        })
 })

到此这篇关于MVC+Layui弹出表单模态框的文章就介绍到这了,更多相关MVC Layui模态框内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • 轻松掌握JavaScript中的Math object数学对象

    轻松掌握JavaScript中的Math object数学对象

    Math对象或者说是类型旗下拥有很多平时常用的数学函数,虽然并不像Date和String那样拥有类似于类和方法那样的使用方式,不过并不妨碍您通过本文来轻松掌握JavaScript中的Math object数学对象^^
    2016-05-05
  • Javascript & DHTML 实例编程(教程)(四)初级实例篇2—动画

    Javascript & DHTML 实例编程(教程)(四)初级实例篇2—动画

    Javascript & DHTML 实例编程(教程)(四)初级实例篇2—动画...
    2007-06-06
  • uniapp父子组件传值3种方法(props、slot和ref)

    uniapp父子组件传值3种方法(props、slot和ref)

    这篇文章主要给大家介绍了关于uniapp父子组件传值的3种方法,方法包括props、slot和ref,最近看到uniapp组件传值的方法,这里记录一下,需要的朋友可以参考下
    2023-07-07
  • 前端js文件合并的三种方式推荐

    前端js文件合并的三种方式推荐

    下面小编就为大家带来一篇前端js文件合并的三种方式推荐。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • js导航菜单(自写)简单大方

    js导航菜单(自写)简单大方

    一个简单的多级下拉菜单菜单但是由于业务和样式上的要求,为了简洁找了好多都不适合于是自己写了一个,晒出来与大家分享,感兴趣的朋友可以参考下哈,希望可以帮助到你
    2013-03-03
  • javascript函数作用域学习示例(js作用域)

    javascript函数作用域学习示例(js作用域)

    javascript中没有块级作用域,取而代之的javascript使用的是函数作用域,下面使用示例学习一下js作用域的使用方法
    2014-01-01
  • Javascript 按位与运算符 (&)使用介绍

    Javascript 按位与运算符 (&)使用介绍

    Javascript 按位与运算符 (&),用于对两个 32 位表达式执行按位“与”运算,而一般表达式里面都是十进制整数,此时需要先转换成对应的二进制,然后向前加0,补足32位
    2014-02-02
  • JavaScript入门教程(4) js浏览器对象

    JavaScript入门教程(4) js浏览器对象

    navigator 浏览器对象,包含了正在使用的 Navigator 的版本信息。反映了当前使用的浏览器的资料。JavaScript 客户端运行时刻引擎自动创建 navigator 对象。
    2009-01-01
  • 图解javascript作用域链

    图解javascript作用域链

    当代码在window onload事件被触发,且sub函数被执行的时候会发生什么事情呢?下面我们来一起了解一下
    2019-05-05
  • 基于网址URL中特殊字符转义编码

    基于网址URL中特殊字符转义编码

    这篇文章主要介绍了网址URL中特殊字符转义编码,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10

最新评论

?


http://www.vxiaotou.com