Layui Edit更新数据后无法获取最新的值解决办法

如果使用jquery提交textarea的内容,会发现无论怎么修改,值始终是数据库获取出来的值,根本没有改变,看了网上很多教程说的是给textarea加上一个 lay-verify="content" ,然后在验证规则里面加上 layedit.sync(index); 同步textarea的内容,但是这边尝试过是没有效果的,这个问题困扰了很多天,也找过很多解决的办法都没效果,最后使用的是form监听异步提交,替代原来的jQuerypost,代码如下:

<div class="layui-form-item">
                <label class="layui-form-label"><span class="x-red">*</span>学校简介:</label>
                <div class="layui-input-block">
                    <textarea id="synopsis" style="display: none;">{{isset($school['synopsis'])?$school['synopsis']:''}}</textarea>
                </div>
            </div>

最重要的是给button按钮添加lay-submit lay-filter=”save_school”属性,至于包裹在div还是form里面无关紧要,建议所有表单文本框直接包裹在div里面即可

<div class="layui-form-item">
                <div class="layui-input-block">
                    <button class="layui-btn" lay-submit lay-filter="save_school" >保存
                    </button>
                </div>
            </div>

下面是layui JS部分的代码:

layui.use(['layedit','form'], function(){
        var layedit = layui.layedit;
        var form = layui.form
            , $ = layui.jquery;

        layedit.set({
            uploadImage: {
                url: '/admins/Depot/uploadimg' //接口url
                ,type: 'post' //默认post
            }
        });
        //注意:layedit.set 一定要放在 build 前面,否则配置全局接口将无效。
        var index=layedit.build('synopsis'); //建立编辑器
        var index1=layedit.build('details'); //建立编辑器

        form.on('submit(save_school)', function(obj){
            let data=new Object();
            data.sid=$.trim($('#sid').val());
            data.code=$.trim($('#code').val());
            data.name=$.trim($('#name').val());
            data.abbreviation=$.trim($('#abbreviation').val());
            data.quality=$.trim($("#quality option:selected").val());
            data.province=$.trim($("#province option:selected").val());
            data.address=$.trim($('#address').val());
            data.logo=$.trim($('#logoimg')[0].src);
            data.cover=$.trim($('#coverimg')[0].src);
            data.url=$.trim($('#url').val());
            data.area=$.trim($('#area').val());
            data.synopsis=$.trim(layedit.getContent(index));
            data.details=$.trim(layedit.getContent(index1));

            if($("#ishidden").is(":checked")){
                data.ishidden=0;
            }else{
                data.ishidden=1;
            };

            data._token=$('input[name="_token"]').val();

            $.post('/admins/Depot/save',data,function (res){
                if (res.code>0) {
                    return layer.alert(res.msg, {icon: 2});
                }
                layer.msg(res.msg,{icon:1});
                setTimeout(function(){
                    parent.window.location.reload();
                },1000);
            },'json');
        });
    });

发表评论

电子邮件地址不会被公开。 必填项已用*标注