账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    laravel5.4百度编辑器无法正常显示
    30
    0

    数据库xmcontents:[];为空,百度编辑器不能正常显示,提示(Cannot read property 'offsetWidth' of null),当xmcontents:[0];填入数值,编辑器能正常显示,但无法存入数据库,提示(SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'title' cannot be null (SQL: insert into xmcontents (title, promulgator, source, content, xmbt_id, updated_at, created_at) values (, , , , 24, 2018-07-10 05:00:41, 2018-07-10 05:00:41)))

    目前找不到解决办法

    相关代码

    cleate.blade.php
    @extends('backend.layout.master3')
    @section('content')

    <div class="page-header">
        <div class="pull-left">
            <h4>项目欣赏管理</h4>
        </div>
    </div>
    <div class="info-center-title">
        <span class="padding-large-right manage-title pull-left">
            <a href="/backend/xmxs">项目欣赏列表</a>
        </span>
        <span class="padding-large-right pull-left"><a class="active" href="/backend/xmxs/create">新增项目欣赏</a></span>
    </div>
    <div class="clearfix"></div>
    <form action="/backend/xmxs" method="post" class="form-horizontal">
        {{ csrf_field() }}
        <div class="panel panel-info">
            <div class="panel-heading">
                <h3 class="panel-title">
                    项目欣赏标题
                </h3>
            </div>
            <div class="panel-body">
                <div class="table-margin">
                    <div class="form-group">
                        <label for="inputPassword3" class="col-sm-2 control-label">
                            <span class="glyphicon glyphicon-asterisk" style="color:red;"></span>
                            标题:
                        </label>
                        <div class="col-sm-6 col-md-6">
                            <input type="text" name="title" class="form-control" required placeholder="请输入标题">
                        </div>
                    </div>
                </div>{{--标题--}}
                <div class="table-margin">
                    <div class="form-group">
                        <label for="name" class="col-sm-6 col-md-2 control-label">
                            <span class="glyphicon glyphicon-asterisk" style="color:red;"></span>
                            商圈:
                        </label>
                        <div class="col-sm-6 col-md-6">
                            <input type="text" name="site" class="form-control" required value="杭州未来科技城">
                        </div>
                    </div>
                </div>{{--商圈--}}
                <div class="table-margin">
                    <div class="form-group">
                        <label for="" class="col-sm-6 col-md-2 control-label">
                            <span class="glyphicon glyphicon-asterisk" style="color:red;"></span>
                            插图:
                        </label>
                        <div class="col-sm-6 col-md-6">
                            <div class="input-group">
                                <input type="text" class="form-control" name="preview" readonly=""
                                       value="/master/images/nopic.jpg" required>
                                <div class="input-group-btn">
                                    <button onclick="upImage(this)" class="btn btn-default"
                                            type="button">选择图片
                                    </button>
                                </div>
                            </div>
                            <div class="input-group" style="margin-top:5px;">
                                <img src="{{asset('/master/images/nopic.jpg')}}"
                                     class="img-responsive img-thumbnail" width="350">
                                <em class="close" style="position:absolute; top: 0px; right: -14px;"
                                    title="删除这张图片" onclick="removeImg(this)">×</em>
                            </div>
                        </div>
                        <script>
                            //上传图片
                            function upImage(obj) {
                                require(['util'], function (util) {
                                    options = {
                                        multiple: false,//是否允许多图上传
                                    };
                                    util.image(function (images) {          //上传成功的图片,数组类型
                                        $("[name='preview']").val(images[0]);
                                        $(".img-thumbnail").attr('src', images[0]);
                                    }, options)
                                });
                            }
    
                            //移除图片
                            function removeImg(obj) {
                                $(obj).prev('img').attr('src', 'resource/images/nopic.jpg');
                                $(obj).parent().prev().find('input').val('');
                            }
                        </script>
                    </div>
                </div>{{--图片--}}
    
            </div>
        </div>{{--xmbts--}}
    
    
        <div class="panel panel-info" id="app">
            <div class="panel-heading">
                <h3 class="panel-title">
                    项目欣赏内容
                </h3>
            </div>
            <div class="panel-body"  v-for="(v,k) in xmcontents">
                <div class="table-margin">
                    <div class="form-group">
                        <label for="firstname" class="col-sm-2 control-label">
                            <span class="glyphicon glyphicon-asterisk" style="color:red;"></span>
                            标题:
                        </label>
                        <div class="col-sm-6 col-md-6">
                            <input type="text" class="form-control" v-model="v.title" >
                        </div>
                    </div>
                </div>{{--标题--}}
                <div class="table-margin">
                    <div class="form-group">
                        <label for="firstname" class="col-sm-2 control-label">
                            <span class="glyphicon glyphicon-asterisk" style="color:red;"></span>
                            作者:
                        </label>
                        <div class="col-sm-6 col-md-6">
                            <input type="text" class="form-control" v-model="v.promulgator" >
                        </div>
                    </div>
                </div>{{--作者--}}
                <div class="table-margin">
                    <div class="form-group">
                        <label for="firstname" class="col-sm-2 control-label">
                            <span class="glyphicon glyphicon-asterisk" style="color:red;"></span>
                            来源:
                        </label>
                        <div class="col-sm-6 col-md-6">
                            <input type="text" class="form-control" v-model="v.source">
                        </div>
                    </div>
                </div>{{--来源--}}
                <div class="table-margin">
                    <div class="form-group">
                        <label for="name" class="col-md-2 control-label">
                            <span class="glyphicon glyphicon-asterisk" style="color:red;"></span>
                            内容:
                        </label>
                        <div class="col-md-6">
                            <textarea id="container" style="height:500px;width:100%;" v-model="v.content"></textarea>
                        </div>
                    </div>
                </div>{{--内容--}}
                <div class="panel-footer"  style="margin-top: 10px;">
                    <div class="row" >
                        <div class="col-sm-2 col-sm-offset-2">
                            <button class="btn btn-success btn-sm" @click.prevent="del(k)">
                                删除
                            </button>
                        </div>
    
    
                    </div>
                </div>{{--删除--}}
            </div>
            <div class="panel-footer">
                <div class="row">
                    <div class="col-sm-6 col-md-6 col-sm-offset-2" role="group">
                        <button class="btn btn-default" @click.prevent="add">添加</button>
                    </div>
                    <textarea name="xmcontents" hidden>@{{ xmcontents }}</textarea>
                </div>
            </div>{{--添加--}}
        </div>
    
        <div class="table-margin">
            <div class="form-group">
                <div class="col-sm-offset-2 col-sm-10">
                    <button  class="btn btn-success">提交</button>
                    <a class="btn btn-default" href="/backend/xmxs" role="button">返回</a>
                </div>
            </div>
        </div>{{--提交--}}
    
    
    </form>
    
    <script>
        require(['vue','util'], function (Vue,util) {
            var vm = new Vue({
                el: '#app',
                data: {
                    v: {content:''},
                    xmcontents:[0]
                },
                methods: {
                    add: function () {
                        var field = {title: '', promulgator:'', source:'', content:'',id: 'hd' + Date.parse(new Date())};
                        /*给上传视频按钮加时间辍属性*/
                        this.xmcontents.push(field);
                    },
                    del: function (k) {
                        this.xmcontents.splice(k, 1);
                    },
    
                },
                mounted() {
                    //图文编辑器
                    var This = this;
                    util.ueditor('container', {}, function (editor) {
                        //监听内容更改
                        editor.addListener('contentChange', function () {
                            vm.$set(vm.v, 'content', editor.getContent());
                        });
                        //监听vue数据
                        vm.$watch('v', function (item) {
                            if (editor && editor.getContent() != item.content) {
                                editor.setContent(item.content ? item.content : '');
                            }
                        });
                        //失去焦点时处罚
                        editor.addListener('blur', function () {
                            vm.$set(vm.v, 'content', editor.getContent());
                        });
                        editor.addListener('clearRange', function () {
                            vm.$set(vm.v, 'content', editor.getContent());
                        });
                    });
                }
            })
        })
    </script>
    

    @endsection

    XmbtController.php
    public function create()

    {
        return view('backend.xmxs.create');
    }
    
    public function store(Request $request,Xmbt $xmbt)
    {
        $xmbt['title']   = $request['title'];
        $xmbt['site']    = $request['site'];
        $xmbt['preview'] = $request['preview'];
        $xmbt->save();
    
        $xmcontents = json_decode($request['xmcontents'],true);
        foreach ($xmcontents as $xm){
            $xmbt->xmcontents()->create([
               'title'       => $xm['title'],
               'promulgator' => $xm['promulgator'],
                'source'     => $xm['source'],
                'content'    => $xm['content'],
    
            ]);
        }
        flash('新增成功!')->overlay();
        return redirect('backend/xmxs');
    }
    

    期望码友们帮忙解决,xmcontets:[]这里是否加判断条件

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 限定小汀ˇ 普通会员 1楼

      这个问题可能是由于多种原因导致的,以下是一些可能的解决方案:

      1. 检查服务器环境:确保你的服务器上已经安装了laravel5.4并启用了编辑器。如果没有,你可以通过在你的服务器上安装laravel和编辑器来实现。

      2. 确保编辑器已打开:在你的浏览器中打开百度编辑器,看看是否可以正常显示。如果可以,那么问题可能在于编辑器本身。

      3. 检查编辑器设置:在百度编辑器的设置页面,确保你已经选择了正确的PHP版本和编译器。你可以在编辑器的设置页面上找到这些选项。

      4. 检查服务器上的PHP版本:确保你的服务器上安装的PHP版本与百度编辑器使用的PHP版本兼容。

      5. 检查编辑器的插件:如果你在使用编辑器时遇到了问题,可能是因为你的编辑器插件有问题。你可以尝试卸载并重新安装编辑器插件,看看问题是否得到解决。

      6. 检查浏览器兼容性:如果你的浏览器不支持某些HTML5新特性,可能会导致编辑器无法正常显示。你可以尝试在其他浏览器上打开编辑器,看看问题是否得到解决。

      7. 重启服务器:有时候,服务器重启可以解决一些临时的问题。

      以上都是一些可能的解决方案,如果你仍然无法解决问题,可能需要寻求专业的帮助。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部