[英]Insert text to cursor position in rich:editor when click button by Javascript
我使用Javascript在rich:editor
的光標位置插入了一些文本,但是它不起作用。
您可以在這張圖片中清楚地看到這一點: rich:editor
這是代碼:
<ui:define name="body">
<h:form id="formEmailTemplate" styleClass="edit">
<rich:simpleTogglePanel label="Email Template" switchType="ajax"
rendered="true">
<s:decorate id="subjectLabel" template="layout/edit.xhtml">
<ui:define name="label">Tên mẫu</ui:define>
<h:inputText id="subject" value="#{emailTemplateHome.instance.emailTemplateName}"
size="50">
</h:inputText>
</s:decorate>
<s:decorate id="buttonCharacter" template="layout/edit.xhtml">
<ui:define name="label">Chọn trường</ui:define>
<a:commandButton value="Chức vụ" onclick="change()"></a:commandButton>
</s:decorate>
<s:decorate id="contentLabel" template="layout/edit.xhtml">
<ui:define name="label">Nội dung</ui:define>
<rich:editor id="editor" width="1000" height="300"
value="#{emailTemplateHome.instance.emailTemplateContent}" theme="advanced">
</rich:editor>
</s:decorate>
</rich:simpleTogglePanel>
</h:form>
<script type="text/javascript">
function change()
{
//var val = document.getElementsByClassName("subject");
var val = document.getElementById("#{rich:clientId('editor')}");
if(val != null){
var value = val.getValue();
var position = value.slice(0, val.selectionStart).length;
var result = value.substr(0,position) + "{chuc_vu}" + value.substr(position);
document.getElementById("#{rich:clientId('editor')}").value = result;
}
}
</script>
</ui:define>
如果我將功能change()
與h:inputText
則效果很好。 在FireFox中使用firebug
調試時,無法在rich:editor
獲得該值。
這行代碼將value
顯示為undefined
:
var value = val.getValue();
每當我將文本"{chuc_vu}"
更改為"#{chuc_vu}"
,它都是空文本(通過Firebug)。 如何在rich:editor
插入文本?
編輯器不僅僅是一個簡單的文本區域。 要處理這些組件,您應該使用JavaScript API(如果有)。
document.getElementById("#{rich:clientId('editor')}");
這將選擇包裝div。
要獲取編輯器的文本值,應使用以下命令:
var component = $("#{rich:clientId('editor')}").component,
value = component.tinyMCE_editor.getContent();
要設置內容,請使用setContent()
。 請注意,文本中將有標記,即您的ccccccccccccccc
將是<p>ccccccccccccccc</p>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.