2017-01-17 20 views
0

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

Вот код:

<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 = верно, то это должно заполнить модальный (mobilemessage-оверлей) не иначе.

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

Любая помощь была бы действительно оценена.

ответ

2

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

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

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

#{bean.isValid ? 'someFunction()' : 'return false'} 
+0

если работает хорошо для меня. – user3352615