layui 整合UEditor 百度编辑器

layui 整合UEditor 百度编辑器

第一步:下载百度编辑器并配置好路径

百度编辑器下载地址:http://fex.baidu.com/ueditor/

第二步:引入百度编辑器

代码如下:

html 复制代码
      <div class="layui-form-item layui-form-text">
               <label class="layui-form-label">内容</label>
               <div class="layui-input-block" style="z-index: 100;">
                <textarea placeholder="请输入内容" class="layui-textarea" id="container"  name="content"  style="height:500px; width:700px; border:none"></textarea>
               </div>
       </div>
 <!-- 配置文件 -->
      <script type="text/javascript" charset="utf-8" src="/static/ueditor/ueditor.config.js"></script>
      <!-- 编辑器源码文件 -->
      <script type="text/javascript" charset="utf-8" src="/static/ueditor/ueditor.all.js"></script>
      <script type="text/javascript" charset="utf-8" src="/static/ueditor/lang/zh-cn/zh-cn.js"></script>
       <script>
              //id=container是编辑器的选择器
              var ue = UE.getEditor('container', {
                  // ... 更多配置
                  initialFrameHeight:400,
                   autoHeight: false,
                   autoHeightEnabled:false,
                   autoFloatEnabled:false
                   });
        </script>

第三步:提交表单部分

javascript 复制代码
layui.use(['form','layer', 'element','upload'],function () {
        var $ = layui.$
            ,form = layui.form
            ,element = layui.element
            ,upload = layui.upload
            ,layer = layui.layer;
        form.render();
        //提交
        form.on('submit(add)', function(data){
            //更换编辑器内容
            data.field.content = ue.getContent();
            $.ajax({
                type:"post",
                url:"{:url('addpost')}",
                data:data.field,
                dataType:"json",
                // beforeSend:function () {
                //   loadIndex = layer.load();
                // },
                success:function (data) {
                    if (data.code == 0) {
                        // layer.close(loadIndex);
                        layer.alert(data.msg, {
                            icon: 2
                        }, function (index) {
                            layer.close(index);
                            $("input[name="+data.data+"]").val('').focus();
                        });
                    } else if (data.code == 1) {
                        //layer.close(loadIndex);
                        layer.alert(data.msg, {
                            icon: 1
                        }, function (index) {
                            layer.close(index);
                            var index2 = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
                            parent.layer.close(index2); //再执行关闭
                            window.parent.location.href=data.url
                        });
                    }
                },
                error:function (xhr) {

                }


            })

        });
  });       

注意: 提交表单前一定要替换content的内容为编辑器内容,data.field.content = ue.getContent();
否则,提交的表单 content 内容将会为空,导致后端接收不到数据!!!

相关推荐
用户33790448021718 分钟前
HTML5语义化标签详解
前端
唐某人丶21 分钟前
教你如何用 JS 实现一个 Agent 系统(1)—— 认识 Agentic System
前端·人工智能
丘山子26 分钟前
分享链接格式不统一,rel="share-url" 提案试图解决这个问题
前端·面试·html
JustHappy1 小时前
「Versakit攻略」🔥Pnpm+Monorepo+Changesets搭建通用组件库项目和发包流程
前端·javascript·vue.js
紫金龙腾2 小时前
EDGE 、chrome、浏览器显示“由你的组织管理”
前端·chrome·edge
用户66197734585752 小时前
Vue3笔记
前端·vue.js
2401_837088503 小时前
ref 简单讲解
前端·javascript·vue.js
折果4 小时前
如何在vue项目中封装自己的全局message组件?一步教会你!
前端·面试
不死鸟.亚历山大.狼崽子4 小时前
Syntax Error: Error: PostCSS received undefined instead of CSS string
前端·css·postcss
汪子熙4 小时前
Vite 极速时代的构建范式
前端·javascript