layui弹出层type=2无法正常验证问题

思路:在弹出层页面form表单中增加一个隐藏的提交按钮,当弹出层点击确定按钮时,触发弹出层页面中的隐藏按钮,触发提交校验

弹出层脚本如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
function LoadDemo(id) {
        layer.open({
            title: '弹出层标题', //弹出层标题
            type: 2,
            content: 'demo.shtml',
            btn: ['确定', '关闭'],
            area: ["650px", "550px"],
            success: function (layero, index) {
                var body = $(layero).find("iframe")[0].contentWindow;
                $(body.id).val(id);
            },
            yes: function (index, layero) {
                var body = $(layero).find("iframe")[0].contentWindow;
                var form = body.form; //获取弹出层页面的form对象
                form.on('submit(submitForm)', function (data) {
                    var showResponse = function (result, status) {
                        if (result.success) {
                            layer.msg(result.msg, { time: 1500 }, function () {
                                layer.close(index);
                            });
                        } else {
                            layer.msg(result.msg, { time: 1500 }, null);
                        }
                    };
                    var options = {
                        success: showResponse,
                        url: urlPath,  //请求接口路径
                        type: "post",
                        dataType: "json",
                    };
                    $(body.myform).ajaxSubmit(options);
                    return false;
                })
                $(body.submit).click();
            },
            cancel: function () {
            }
        });
        return false;
    }

页面代码如下: 

1
2
3
4
5
6
7
8
9
10
<form class="layui-form pl20 pr20 pt20 pb20" id="demoForm">
       <div class="layui-form-item ">
            <label class="layui-form-label"><span>*</span>内容:</label>
            <div class="layui-input-inline">
                <input type="text" id="price" name="price" lay-verify="required|number" placeholder="请输入内容" autocomplete="off"
                    class="layui-input">
            </div>
     </div>
 <button class="baseInfo-item-submit layui-btn  mt15" lay-submit lay-filter="submitForm" style="display:none;" id="submit">保存</button>
</form>
<script type="text/javascript">
    var form = layui.form; //初始化form
 //正常的业务逻辑
</script>

  

posted @   榕树下的回忆  阅读(1384)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示