动态添加HTML到CKEditor的源(特别是表信息)

时间:2013-09-19 22:19:10

标签: ckeditor

我正在试图找出如何让CKEditor获取我想要提供它的HTML。我想做的是准备好这个表的模板,然后只需单击一个按钮就可以插入到CKEditor中。我无法使用源代码编辑器执行此操作 - 使用它的人将无法访问它,并且可能无论如何都不知道如何操作。但即便如此,手头还有其他问题。

我在实例上尝试了getDatasetData,但是当我setData时,它最终保存了表而没有任何表标记。

这就是我为此所做的:

function PasteToFaxEnd() {
    var faxText = CKEDITOR.instances.faxMessageBodyText.getData();

    faxText += '<table style="width:600px;border:1px solid black;"><tr><td rowspan="4" style="width:50%;">Instructions</td><td>&nbsp;</td></tr><tr><td>Contact</td></tr><tr><td>Title</td></tr><tr><td>Email Address</td></tr></table>';

    CKEDITOR.instances.faxMessageBodyText.setData(faxText);
}

结果只是文字,没有标签。

这稍微好一些,但它剥离了我非常重要的边框风格的代码。

function PasteToFaxEnd() {
    CKEDITOR.instances.faxMessageBodyText.insertHtml('<table style="width:600px;border:1px solid black;"><tr><td rowspan="4" style="width:50%;">Instructions</td><td>&nbsp;</td></tr><tr><td>Contact</td></tr><tr><td>Title</td></tr><tr><td>Email Address</td></tr></table>');
}

我使用的最后一件事是,而不是在桌子上设置“样式”,我设置了一个类,但我不确定在哪里可以放一个编辑器中的文本会读取的类 - 它不是从编辑所在的页面阅读它。话虽如此,这个答案并不可取:我需要将这个文本发送到PDF生成器,我宁愿在代码上设置样式,以便在进入PDF生成器时不需要处理。如果我看到这样的东西,我至少会感激,至少知道这些知识是有用的。

也许答案在于insertHtml,但我需要以某种方式保持这种边界。保持这种造型的任何答案都将非常感激!

谢谢!

0 个答案:

没有答案