layui富文本编辑器与textarea双向数据同步实现

作者:开源拾贝时间:2026-10-23 11:19:03浏览:70

本文介绍如何在layui框架中实现富文本编辑器与textarea的双向数据同步。通过自定义表单验证规则调用layedit.sync()将编辑器内容写入textarea,并利用layedit.setContent()将后端返回数据反向渲染至编辑器,确保前后端数据一致。

富文本编辑器向textarea同步数据

首先实现将富文本编辑器的内容传递至隐藏的textarea字段。


<div class="layui-form-item layui-form-text">
   <label class="layui-form-label">资讯内容</label>
   <div class="layui-input-block">
     <textarea name="content" id="demo" placeholder="请输入资讯内容" class="layui-textarea" lay-verify="content"></textarea>
   </div>
</div>

在HTML结构中,需为对应的textarea元素添加lay-verify属性以启用验证机制。


layui.use(['form','layedit'], function() {
    var form = layui.form,
    layer = layui.layer,
    $ = layui.jquery,
    var layedit = layui.layedit;
 
    //创建编辑器
    index = layedit.build('demo',{
      tool:[
        'strong' //加粗
        ,'italic' //斜体
        ,'underline' //下划线
        ,'del' //删除线
        ,'|' //分割线
        ,'left' //左对齐
        ,'center' //居中对齐
        ,'right' //右对齐
        ,'link' //超链接
        ,'unlink' //清除链接
        ,'face' //表情
      ]
    }); //建立编辑器
    
     //自定义验证规则
    form.verify({
      content:function () {
        layedit.sync(index);
      }
    });
})

初始化富文本编辑器实例,并在表单验证逻辑中执行同步操作。

通过上述配置,即可实现富文本编辑器内容自动同步至关联的textarea中。

textarea或后端数据向富文本编辑器同步

其次,实现将textarea或后端数据同步至layui富文本编辑器显示。


layedit.setContent(index,$str); 

此处复用的变量名index仍指向之前创建的编辑器实例。

$str变量通常代表通过Ajax请求从后台获取的HTML字符串数据。

以上即为layui富文本编辑器与textarea之间值相互传递的完整实现方案,供开发者参考使用。

作者最新文章