使用layer的iframe层提交表单后,需要关闭当前的iframe层,然后刷新父页面的方法

参考文档 :https://blog.csdn.net/u011020900/article/details/52083166

    /**
     * 编辑
     * @param resId
     */
    function edit(resId) {
//iframe层
        layer.open({
            type: 2,
            title: '编辑服务资源',
            shadeClose: true,
            shade: 0.8,
            area: ['380px', '90%'],
            content: '/resource/editResourceById?resId=' + resId //iframe的url
        });
    }

  @RequestMapping(value = "/editResourceById", method = RequestMethod.GET)
    public ModelAndView editResourceById(@RequestParam(value = "resId", required = true) Integer resId) {

        ModelAndView modelAndView = new ModelAndView();
        modelAndView.setViewName("resource/editResourceById");
        return modelAndView;

    }

 <form action="/resource/auditResAction" method="post">
            <table border="1" cellspacing="0">
                <tr>
                    <div class="layui-form-item ">
                        <label class="layui-form-label">申请截止日期</label>
                        <div class="layui-input-block">
                            <input type="text" value="88888" name="resId" required
                                   lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input">
                        </div>
                </tr>


            </table>
      
            <input type="submit" value="保存">
        </form>
<script>
    layui.use('layer', function () {
        var layer = layui.layer;
        // 这个是在iframe里面的js代码
        var url = '/resource/saveEditResource';
        var frameindex = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
        $(document).on('click', '[type=submit]', function () {
            var index = layer.load(1, {
                shade: [0.1, '#fff'] //0.1透明度的白色背景
            });
            var data = {resId: 999};
            $.post(url, data, function (ev) {
                if (ev.status == 'success') {
                    layer.msg(ev.msg);
                    parent.location.href = "/resource/getResourceList?resType=103";
                } else {
                    layer.close(index);
                    layer.msg(ev.msg);
                }
            }, 'json')
        });
    })
</script>

  @RequestMapping(value = "/saveEditResource", method = RequestMethod.POST)
    @ResponseBody
    public Map saveEditResource(@RequestParam(value = "resId", required = true) Integer resId) {
        Map map = new HashMap();
        map.put("status", "success");
        map.put("msg", "test okkkk");
        return map;

    }

 <script type="text/javascript" src="/lib/js/jquery.js"></script>
    <script type="text/javascript" src="/lib/layui/layui.js"></script>

  

猜你喜欢

转载自www.cnblogs.com/jwlfpzj/p/9159031.html