In particular, a "return ..." has very different semantics in both cases.
Consider this code:
<p:commandLink action="#{bean.method}" onstart="return func()" ...>
If "func()" return false, this code will abort the AJAX request and bean.method() won't get called.
If "func()" returns true, the AJAX request processes.
If you replace onstart with onclick, the AJAX request will abort even if func() returns true.
That's because the Primefaces puts the code to generate the AJAX request in the onclick handler, pre-pending your code from the p:commandLink onclick before it. If your code returns, the AJAX request never gets sent.
No comments:
Post a Comment