Как обновить компонент редактора PrimeFaces из JavaScript - PullRequest
2 голосов
/ 12 января 2012

У меня есть редактор PrimeFaces (2.2.1) на странице, где я хочу разрешить пользователю добавлять текст в редактор, выбирая значение из выпадающего списка и нажимая кнопку, указывающую, что он хочет, чтобы он был добавлен текст. Я могу добавить текст в редактор, используя JavaScript следующим образом:

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

Однако, в отличие от inputTextarea, компонент редактора PrimeFaces не обновляется автоматически при изменении его значения. Я должен нажать кнопку перезагрузки браузера или нажать кнопку «Показать исходный текст» редактора, чтобы отобразить добавленный текст. Могу ли я что-нибудь сделать из JavaScript, чтобы редактор обновился после изменения его значения?

1 Ответ

1 голос
/ 12 января 2012

Не очень хорошее решение, но оно должно работать.

editorWidgetVar.jqInput.var()

хранит значение, которое будет отправлено при отправке формы.

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

, но на самом деле это видно для пользовательского элемента.Поэтому, если вы хотите изменить содержимое редактора, вы должны изменить оба поля (скрытые для правильной отправки и видимые для правильного отображения).Я почти уверен, что для этого есть нормальный API.Этот метод подойдет для временного решения проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...