怎么在一个页面上使用多个KindEditor编辑器并将值传递到服务器端

发布时间:2021-07-21 10:23:02 作者:chen
来源:亿速云 阅读:271

这篇文章主要介绍“怎么在一个页面上使用多个KindEditor编辑器并将值传递到服务器端”,在日常操作中,相信很多人在怎么在一个页面上使用多个KindEditor编辑器并将值传递到服务器端问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么在一个页面上使用多个KindEditor编辑器并将值传递到服务器端”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

今天使用KindEditor编辑器时需要涉及到一个页面使用两个编辑器的问题,刚开始,我直接在添加和上面一样性质的代码,效果是出来了。但是提交的时候下面的那个值总是将上面的那个值覆盖了,我感觉这问题应该不大,于是经过一番捣鼓,最终实现效果,这是我个人总结的心得,希望大家一起学习,共同进步!

以下是操作步骤:

1.声明一个editor数组:

var editor = new Array();

2.将之前的编辑器显示行代码:

KindEditor.ready(function(K) {
        window.editor = K.create('#content', defaultEditorOptions);
});

变为一个索引数组形式的代码:

KindEditor.ready(function(K) {
        window.editor[0] = K.create('#content', defaultEditorOptions);
        window.editor[1] = K.create('#ycontent', defaultEditorOptions);
});

这样,KindEditor编辑器的效果图便会显示出来:

3.传递KindEditor所填写的相关数据:

之前一个KindEditor编辑器的传递方式是这样的:

<script>

$("#submitBtn").on('click', function(event) {
        //编辑器中的内容异步提交
        editor.sync();
        event.preventDefault();
        var params = $("form").serializeArray();
        sendRequest('{:U("doEdit")}', params, function(data) {
            if (data.status == 1) {
                simpleSwal(data.info, '', 1, function() {
                    jumpCurrentFrame();
                });
            } else {
                simpleSwal(data.info, '', 2);
            }


        });


    });

<script>

我们需要将上述代码部分改为如下我们的正确传值方式:

$("#submitBtn").on('click', function(event) {
        //编辑器中的内容异步提交
        editor[0].sync();
        editor[1].sync();//需要注意的是,这里面的索引数值是需要和变为一个索引数组形式的代码索引值一致,即键值一样多!!!
        event.preventDefault();
        var params = $("form").serializeArray();
        sendRequest('{:U("doEdit")}', params, function(data) {
            if (data.status == 1) {
                simpleSwal(data.info, '', 1, function() {
                    jumpCurrentFrame();
                });
            } else {
                simpleSwal(data.info, '', 2);
            }


        });


    });

这样,我们就可以在服务器端进行相应值的接收和校验了。

下面把完整的代码贴下,需要的小伙伴可以看下:

<script>
 // 点击提交
    $("#submitBtn").on('click', function(event) {
        //编辑器中的内容异步提交
        editor[0].sync();
        editor[1].sync();
        event.preventDefault();
        var params = $("form").serializeArray();
        sendRequest('{:U("doEdit")}', params, function(data) {
            if (data.status == 1) {
                simpleSwal(data.info, '', 1, function() {
                    jumpCurrentFrame();
                });
            } else {
                simpleSwal(data.info, '', 2);
            }


        });


    });
    </script>

    <!-- 编辑器插件 -->
    <script charset="utf-8" src="__PUBLIC__/lib/js/plugins/kindeditor/kindeditor.js"></script>
    <script charset="utf-8" src="__PUBLIC__/lib/js/plugins/kindeditor/lang/zh_CN.js"></script>
    <!-- 为避免kindeditor获取目录时出错,路径引入都避开base设置,采用根路径 -->
    <!-- uploadJson等的路径默认是PHP的,可以不用配置。 -->
    <!-- 但是若配置,则其相对路径起始是主窗口URL或者base,不是kindeditor自身的basePath -->
    <script>
    var editor = Array();
    var defaultEditorOptions = {
        width: '100%',
        resizeType: 1,
        items: [
            'source', '|', 'undo', 'redo', '|', 'preview', 'print', 'template', 'code', 'cut',
            'copy', 'paste', 'plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter',
            'justifyright', 'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent',
            'outdent', 'subscript', 'superscript', 'clearhtml', 'quickformat', 'selectall', '|',
            'fullscreen', '/', 'formatblock', 'fontname', 'fontsize', '|', 'forecolor',
            'hilitecolor', 'bold', 'italic', 'underline', 'strikethrough', 'lineheight',
            'removeformat', '|', 'image', 'multiimage', '|', 'table', 'hr', 'emoticons',
            'pagebreak', 'anchor', 'link', 'unlink', '|', 'about'
        ],
        uploadJson: '{:U("imgUpload",array("f"=>"imgFile"))}',
        formatUploadUrl: false,
        // uploadJson: '__ROOT__/Public/lib/js/plugins/kindeditor/php/upload_json_extend.php',
        afterUpload: function(url) {}
    };


    KindEditor.ready(function(K) {
        window.editor[0] = K.create('#content', defaultEditorOptions);
        window.editor[1] = K.create('#ycontent', defaultEditorOptions);
    });
    </script>

到此,关于“怎么在一个页面上使用多个KindEditor编辑器并将值传递到服务器端”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. Django添加KindEditor富文本编辑器的使用
  2. dede编辑器换成kindEditor编辑器的方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:如何解决JS中双击和单击事件冲突的问题

下一篇:nodejs中有哪些爬虫框架

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》