在 p:textEditor 中添加或追加文本
Add or Append text in p:textEditor
我有p:textEditor
像下面这样的
<p:textEditor
id="editor"
widgetVar="editor"
value="#{xxxController.editorText}"
height="300"
placeholder="Enter your content"
toolbarVisible="false"/>
将以下命令按钮 add/append 值设为 p:textEditor
<p:commandButton onclick="insertTag('[myValue]')" value="myValue" type="button" />
JavaScript
<script>
function insertTag( t )
{
PF( 'editor' ).insertText( t ) ;
}
</script>
但是当我尝试单击 <p:commandButton
时我得到 SCRIPT5007: Unable to get property 'insertText' of undefined or null reference
。
那么我们如何 insert/append 使用 widgetVar 或 JavaScript 将文本 p:textEditor
?
版本详情
JSF 2.2,
PrimeFaces 6.2
你需要这样做......一旦你有了小部件,“编辑器”变量就是 QuillJS 对象。
PF('editor').editor.insertText(0, 'Hello', 'bold', true);
见Using the component ID as widgetVar name
[...] This will cause all original widget var functions to be completely unavailable because the variable editor is now referencing a HTMLDivElement instance which doesn't have the same functions as the original widget var like show(), etc. [...]
(在每个 widgetvar 名称后附加一个 _vw
,以消除该问题)
SCRIPT5007: 无法获取 属性 'insertText' 未定义或空引用
猜猜,这正是原因,您的代码没有引用“editor”-widgetVar,而是引用“editor”html 元素,它不知道“insertText”。
我有p:textEditor
像下面这样的
<p:textEditor
id="editor"
widgetVar="editor"
value="#{xxxController.editorText}"
height="300"
placeholder="Enter your content"
toolbarVisible="false"/>
将以下命令按钮 add/append 值设为 p:textEditor
<p:commandButton onclick="insertTag('[myValue]')" value="myValue" type="button" />
JavaScript
<script>
function insertTag( t )
{
PF( 'editor' ).insertText( t ) ;
}
</script>
但是当我尝试单击 <p:commandButton
时我得到 SCRIPT5007: Unable to get property 'insertText' of undefined or null reference
。
那么我们如何 insert/append 使用 widgetVar 或 JavaScript 将文本 p:textEditor
?
版本详情
JSF 2.2, PrimeFaces 6.2
你需要这样做......一旦你有了小部件,“编辑器”变量就是 QuillJS 对象。
PF('editor').editor.insertText(0, 'Hello', 'bold', true);
见Using the component ID as widgetVar name
[...] This will cause all original widget var functions to be completely unavailable because the variable editor is now referencing a HTMLDivElement instance which doesn't have the same functions as the original widget var like show(), etc. [...]
(在每个 widgetvar 名称后附加一个 _vw
,以消除该问题)
SCRIPT5007: 无法获取 属性 'insertText' 未定义或空引用
猜猜,这正是原因,您的代码没有引用“editor”-widgetVar,而是引用“editor”html 元素,它不知道“insertText”。