CKEditor中的只读部分

时间:2018-09-18 10:06:45

标签: ckeditor

我正在使用CKEditor显示一些文本
我有一个要求防止在文本的某些部分中进行编辑 将由JQuery插入
我做了什么 我在类中插入了输入,因此可以更改其值

 config.extraAllowedContent = 'input(*)';

<textarea name="editor1" id="editor1" rows="10" cols="80">
       Some Text <input type="text" id="txttest" class="form-control" style="border:none" />        
    </textarea> 

<script>  
var ed1;
ed1 = CKEDITOR.replace('editor1');ed1.on('loaded', function () {            
            $('.form-control')[0].val('Doctor'); });
</script>

这里的问题我找不到输入$('。form-control')允许返回0长度


第二次尝试

var ed1;


$(document).ready(function () {

    var data = ' Some Text < input type = "text" id = "txttest" class="form-control" style = "border:none" value = "Doctor" />';
    ed1 = CKEDITOR.replace('editor1');

    CKEDITOR.instances['editor1'].setData(data)

这里的问题是CKEditor将输入呈现为纯文本而不是html

请提供任何帮助

1 个答案:

答案 0 :(得分:0)

谢谢大家 这是我的问题的答案,任何人都会面临同样的问题 多亏了该帖子
    How to find and replace text in CKEditor using Javascript?

代码

<textarea name="editor1" id="editor1" rows="10" cols="80">
        Some Text.
<input type="text" id="txttest" class="form-control" style="border:none" value="yyy" />
            </textarea>
<script>  
var ed1;
ed1 = CKEDITOR.replace('editor1');

$(document).ready(function () {


    var editor = CKEDITOR.instances['editor1'];
    var edata = editor.getData();

    var replaced_text = edata.replace("yyy", "iwant this instead"); // you could also use a regex in the replace 

    editor.setData(replaced_text);

});