我正在使用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
请提供任何帮助
答案 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);
});