ドロップダウンリストから値を選択して、エディタにテキストを追加できるようにするページにPrimeFaces(2.2.1)エディタがあります。それらがテキストに追加されることを示すボタン。私はこのようなJavaScriptを使用して、エディタにテキストを追加することができます。その値が変更されたときにJavaScriptからPrimeFaces Editorコンポーネントをリフレッシュする方法
document.getElementById('form:editor').value = document.getElementById('form:editor').value + 'NEW TEXT!';
しかし、inputTextareaとは異なり、PrimeFacesエディタコンポーネントが自動的に更新されません。ブラウザのリロードボタンを押すか、エディタの「ソースを表示」ボタンを押して、表示するテキストを追加する必要があります。値を変更した後にエディタをリフレッシュさせるためにJavaScriptから何かできることはありますか?
サーバー側のテキストを更新するのに 'actionListener'を使用しないのはなぜですか? –
実際には、commandButtonを押すだけで、バッキングBeanの値がエディタの現在の値で更新され、ボタンのアクションによってテキストが追加されます。このテクニックの問題は、元のコンポーネントのテキスト領域内に新しいコピーをレンダリングすることになるため、PrimeFaces Editorが自動的に更新するために使用するコードはすべて誤りであるため、これを処理するためにAjaxを使用できないことです。解決策は、Ajaxを回避し、サーバー側にテキストを追加した後にページ全体をリフレッシュすることでした。 –