layedit无法正常使用,无法弹出layedit以及获取不到数据问题

问题

页面中弹出layedit时只能第一次弹出,后面弹不出来,而且在父页面获取不到编辑完的值

 

解决:

1让页面模板加载完成后再去初始化layedit,从而保证layedit每次都能正常弹出

2初始化时记录当前编辑器的id,将其作为表单元素提交时传给父页面

3.父页面根据收到的编辑器id获取内容

代码

父页面代码

    // 添加
    function add() {
      admin.popup({
        title: '添加'
        , area: ['550px', '550px']
        , id: 'LAY-popup-content-add'
        , success: function (layero, index) {
          view(this.id).render('otherInfo/notice/form').done(function () {
              form.render(null, 'layuiadmin-app-form-list');
            //监听提交
            form.on('submit(layuiadmin-app-form-submit)', function (data) {
              var field = data.field; //获取提交的字段

                field.content = layedit.getContent(field.index);//关键代码

              admin.req({
                url: layui.setter.api + 'm-notice'
                , type: 'post'
                , data: field
                , done: function (result) {
                  layer.msg(result.msg);
                  layui.table.reload('LAY-app-content-list'); //重载表格
                  layer.close(index); //执行关闭
                }
              });
            });
          });
        }
      });
    }

弹出页代码

关键代码   

lay-done="init()" 加载完执行init 初始化layedit

init 中将当前layedit的索引值保存到隐藏表单中,提交时传给父页面,父页面可以根据index取出内容


 

你可能感兴趣的:(layui,前端,layedit取值)