将HTML内容加载到Aloha编辑器中

时间:2013-06-18 13:23:01

标签: aloha-editor

我在我的网站上使用Aloha编辑器。我已经能够成功使用它,用户可以创建HTML并将其保存到我的数据库中。但是,我在将HTML内容预加载到编辑器中时遇到问题,以便用户可以编辑现有的HTML。

以下是初始化编辑器的Javascript:

<script type="text/javascript">
Aloha.ready(function () {
    Aloha.jQuery('#richTextEditor').aloha();
    Aloha.bind('aloha-smart-content-changed', function (event, editable) {
        $(".hiddenTextArea").val(Aloha.getActiveEditable().getContents());
        $("#btnSave").click();
    });
    var obj = "";
    Aloha.activeEditable().setContents($(".hiddenTextArea").val(), obj);
});
</script>

我试图使用Aloha.activeEditable()。setContents(),因为我在另一个网站上看到过这个,但我的浏览器中出现错误

Error: TypeError: Aloha.activeEditable is not a function

2 个答案:

答案 0 :(得分:0)

阿罗哈!

这是

/**
 * Set the contents of this editable as a HTML string
 * @param content as html
 * @param return as object or html string
 * @return contents of the editable
*/
Aloha.activeEditable.setContents('your html string', true);

Aloha.activeEditable().setContents();

您是否见过这个例子:http://aloha-editor.org/howto-store-data-with-aloha-editor-ajax.php

您无需将内容写入textarea。你也可以直接通过AJAX提交它,或者直接提交.aloha()textarea如果你需要一个表格中的其他值的内容(注意使用textarea时:如果textarea的html id是“xy”那么id为Aloha编辑中的可编辑将是“xy-aloha”)

你真的希望在每个'aloha-smart-content-changed'事件上发送表单吗?也许使用'aloha-editable-deactivated'? 'aloha-smart-content-changed'不会被解雇,例如格式化粗体......

答案 1 :(得分:0)

Rene的答案是正确的,但我发现还有第二种方法可以用数据预先填充Aloha编辑器。您可以简单地将文本添加到您将Aloha编辑器定位到的HTML元素(在我的示例中为#richTextEditor),然后再调用Aloha.bind()。