如何从JavaScript刷新PrimeFaces编辑器组件

时间:2012-01-12 05:33:51

标签: javascript jsf primefaces

我在页面上有一个PrimeFaces(2.2.1)编辑器,我希望允许用户通过从下拉列表中选择一个值并按下一个按钮来指示他们希望将其添加到编辑器中文本。我可以使用JavaScript将文本添加到编辑器中:

document.getElementById('form:editor').value = document.getElementById('form:editor').value + 'NEW TEXT!';

但是,与inputTextarea不同,PrimeFaces Editor组件在其值更改时不会自动刷新。我必须按下浏览器的重新加载按钮或点击编辑器的“显示源”按钮以显示附加的文本。有什么我可以用JavaScript来让编辑器在更改其值后自行刷新吗?

1 个答案:

答案 0 :(得分:1)

不是一个好的解决方案,但它应该有效。

editorWidgetVar.jqInput.var()

存储一个值,该值将提交给表单提交。

$(editorWidgetVar.jq.find('iframe')[0].contentDocument).find('body').html()

但实际上这对于用户元素是可见的。因此,如果您想更改编辑器的内容,则应更改这两个字段(隐藏以便正确提交并显示正确显示)。我几乎可以肯定它有一个普通的API。这种方法适用于临时解决方法。