a4j: тернарный оператор commandButton не работает по завершению

Я использую a4j:commandButton, он не поднимает троичный оператор.

Вот код:

<a4j:commandButton styleClass="btn large" execute="@this phone-field phone-cc-field"  render="mobilemessage-overlay"
                                    value="Send" action="#{successBean.sendMobileMessage}" oncomplete="#{successBean.clearMessage} ? #{rich:component('mobilemessage-overlay')}.show(); : return false;">
                                </a4j:commandButton>

Я ожидаю, что когда-то successBean.clearMessage = true, он должен заполнить модальный (mobilemessage-overlay), иначе нет.

В настоящее время модал не заполняется в любом сценарии.

Любая помощь могла бы быть полезна.

1 ответ

Вы можете просто использовать "если", oncomplete не нужно ничего возвращать.

В любом случае, вы должны увидеть ошибку в консоли. Проблема в том, что true ? someFunction() : return false не является допустимым JavaScript, потому что return false это не выражение.

Теперь, если по какой-то причине вам нужен возврат, вы можете сделать это так:

#{bean.isValid ? 'someFunction()' : 'return false'}
Другие вопросы по тегам