2017-01-17 4 views
0

Ich benutze a4j: commandButton es nimmt nicht den ternären Operator. HierA4J: Befehlsschaltfläche ternary Operator funktioniert nicht oncomplete

ist der Code:

<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> 

Meine Erwartung ist, einmal successBean.clearMessage = true es die modale bevölkern sollte (mobilemessage-Overlay) sonst nicht.

Momentan füllt es das Modal in keinem Szenario.

Jede Hilfe würde wirklich geschätzt werden.

Antwort

2

Sie können einfach "if" verwenden, oncomplete muss nichts zurückgeben.

Wie auch immer, Sie sollten einen Fehler in der Konsole sehen. Das Problem ist, dass true ? someFunction() : return false kein gültiges JavaScript ist, weil return false kein Ausdruck ist.

Nun, wenn Sie aus irgendeinem Grund die Rückkehr benötigt man es so tun könnte:

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

wenn Werke für mich in Ordnung. – user3352615