Laravel CRUD项目CKEditor在create页正常但update编辑blade页不显示
CKEditor在Laravel update页面无法显示解决方案
故障原因及修复方案
- 实例冲突:同一textarea如果已经被CKEditor挂载过,重复调用初始化方法会失效,初始化前需先销毁已有实例
- 路径错误:相对路径引入CKEditor资源在不同路由层级下可能加载失败,需使用绝对路径
- 模板语法错误:Blade输出变量时多余空格会导致内容解析异常
修复后代码示例
<!-- 改用asset辅助函数生成绝对路径引入资源,避免路由层级影响 --> <script src="{{ asset('ckeditor/ckeditor.js') }}"></script> <script type="text/javascript"> $(document).ready(function () { // 初始化前先销毁已存在的CKEditor实例,避免冲突 if (typeof CKEDITOR !== 'undefined') { CKEDITOR.removeAll(); } $('.ckeditor').ckeditor(); }) </script> </head> <body> <form method="post" action="{{url('updateblog')}}" enctype="multipart/form-data"> @csrf @method('PATCH') <label for="title">Title</label> <!-- 移除变量输出的多余空格,确保内容正常输出 --> <textarea class="ckeditor form-control" name="title">{!! $blog->title !!}</textarea><br> </form>
额外排查项
如果修改后仍无法正常加载,可打开浏览器控制台检查以下内容:
- 是否存在ckeditor.js 404报错,确认资源路径正确
- 是否存在JS语法报错,排查其他脚本冲突
- 检查
$blog->title是否正常输出,没有空值或者特殊字符打断HTML结构
内容的提问来源于stack exchange,提问作者Alexirungu
相关产品推荐
相关产品推荐

