JSF - Как запустить выражение JavaScript из кода - PullRequest
0 голосов
/ 25 мая 2010

Попытка сделать это программно

<a4j:commandLink ... onclick="#{rich:component('modalPanelID')}.show()"/>

Это не работает:

HtmlAjaxCommandLink commandLinkObject = new HtmlAjaxCommandLink();
...
commandLinkObject.setOnClick("#{rich:component('modalPanelID')}.show()");

Есть идеи, как и как это сделать?

Thanx.

1 Ответ

1 голос
/ 26 мая 2010

Поскольку выражение никогда не вычисляется.

При первом подходе при визуализации страницы #{rich:component...} оценивается Richfaces, и на странице отображается что-то вроде приведенного ниже кода:

document.getElementById('formID:modalPanelID').component.show();

Поскольку вы делаете это программно, вы обходите этот рендеринг. Я бы посоветовал вам использовать приведенный выше javascript.

commandLinkObject.setOnClick("document.getElementById('formID:modalPanelID').component.show()");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...