繁体   English   中英

TinyMCE获取所有编辑器和设置

[英]TinyMCE getting all editors and setting

美好的一天,

我正在尝试使用TinyMCE制作一个脚本,该脚本遍历所有编辑器(最后获取所有内容并保存),并替换其内容。

但是,这仅适用于第一个编辑器,而不适用于下一个编辑器。

    for (var i = 0; i < tinymce.editors.length; i++) {
    var editorInstance = tinymce.editors[i];
    editorInstance.setContent('I have changed the content of this editor!');
}

不太确定我在做什么错。

我的HTML代码是:

<textarea id="mytextarea" class="editor" name="editor[156]"></textarea>
<textarea id="mytextarea" class="editor" name="editor[172]"></textarea>
<textarea id="mytextarea" class="editor" name="editor[173]"></textarea>
<textarea id="mytextarea" class="editor" name="editor[174]"></textarea>

按照我自己的逻辑,这应该可行。 (*但不是;-) *)

我也尝试了不同的方法:

$("#editorsection .editor").each(function () {
    console.log('editor found method #1');
    var Content = tinyMCE.$(this).getContent();
    console.log('obtained content : ' + Content);
});

但也无济于事。

我希望有人能告诉我我做错了什么。 提前致谢!


解决方案建议者:Michael Fromin

HTML代码:

<textarea class="editor" name="editor[156]"></textarea>
<textarea class="editor" name="editor[172]"></textarea>
<textarea class="editor" name="editor[173]"></textarea>
<textarea class="editor" name="editor[174]"></textarea>

Javascript / JQuery代码

function SaveContent(){
    console.log('ajax save content button clicked');
    console.log(tinymce.editors.length + ' : TinyMCE editors found.');

    var editorContent = [];

    for (var i = 0; i < tinymce.editors.length; i++) {
        var editorInstance = tinymce.editors[i];
        var content = editorInstance.getContent();
        editorContent.push( content );
        console.log('editor : ' + i + ' has content set : ' + content );
    }

    console.log('obtained content : ' + editorContent);

    ///######## SENDING THE INFORMATION BY AJAX
    $.ajax({
        type: "POST",
        url: "?ajaxcall=quicksave",
        data: {
            'content': editorContent,
            'page': 5
        },
        ///######## IN CASE OF SUCCESS
        success: function (response) {
            if(response !== ''){
                alert('error : ' + response);
            }
        }
    }
    );
}

一页上不能有多个具有相同id -这是无效的HTML。

如果您将每个textarea更改为具有自己的id应该开始工作。

这个小提琴显示了一个有效的示例: http : //fiddle.tinymce.com/Ujgaab/2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM