我在我的网站上使用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
答案 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()。