TinyMCE가 Richfaces ajax 작업 및 렌더링과 상호 작용할 수있는 해결 방법을 만들었으므로 최선의 대답이 아니라고 생각합니다. 내의 WebContent/JS 폴더에
복사 TinyMCE에 폴더하는 init 파일 (선택 외부 파일)입니다 tiny.js 포함 :
여기 내 솔루션입니다.
이 파일에는 tinyMCE init 구성과 tinyMCE를 결합하고 동작을 렌더링하는 JSF2 javascript가 모두 들어 있습니다. 여기
는 tiny.js 코드 :
jsf.ajax.addOnEvent(function(data) {
switch(data.status) {
case "begin":
tinyMCE.triggerSave();
break;
case "complete":
break;
case "success":
var i, t = tinyMCE.editors;
for (i in t){
if (t.hasOwnProperty(i)){
t[i].remove();
}
}
tinyMCEinit();
break;
}});
function tinyMCEinit(){
tinyMCE.init({
language : "pt",
mode : "textareas",
theme : "advanced",
mode : "textareas"
});}
이 자바 스크립트가 모든 텍스트 영역을 지우는 tinyMCEinit() 함수를 호출하고 다시 모든 것을 다시 적용하면된다 무엇 JSF. 그것은 처음에는 페이지를 열 때 멋지 네요, 어쩌면 약간의 무거운 DOM 처리지만, 최종 사용자는로드를주의하지 않을 것입니다 ... 페이지에 4 개의 텍사스/에디터가 있고 대안 목록처럼 편집 할 수 있어야합니다. 문제. 같은 페이지의 4 명의 편집자는 로딩 시간이 느리고 이전의 rich는 있습니다 : editor/ckeditor는 성능 손실을 알 수 있습니다. 필요로 자바 스크립트의
음, 하나의 작은 터치는 다음과 같이 당신의 "저장"버튼에 추가 할 :
<a4j:commandButton onclick="tinyMCE.triggerSave();" render="some_panel" value="Any render"></a4j:commandButton>
triggerSave()는 시간에 에디터에 값 (HTML)를 전송 : inputTextarea을 너무 JSF는 값을 가져 와서 백엔드로 보낼 수 있습니다.