Вам нужно включить кнопку с помощью JSF, а не с помощью JavaScript / HTML DOM. Во время обработки отправки формы JSF также проверит в состоянии просмотра на стороне сервера, включена ли кнопка или нет, как часть защиты от несанкционированных запросов.
* 1003 Е.Г. *
<p:commandButton id="btnAJAX" value="AJAX" action="#{bean.someAction}" disabled="#{!bean.enabled}" />
<p:commandButton id="btnEnabler" value="Enable" action="#{bean.enableButton}" process="@this" update="btnAJAX" />
с
private boolean enabled;
public void enableButton() {
enabled = true;
}
public boolean isEnabled() {
return enabled;
}
Убедитесь, что bean-компонент имеет значение не менее @ViewScoped
, а не @RequestScoped
, в противном случае действие кнопки все равно не будет выполнено, потому что bean-компонент создается заново во время запроса на отправку формы, и поэтому свойство enabled
станет значением по умолчанию. false
. 1013 *
Смотри также: