Richfaces 4 a4j:commandLink action not firing in rich:popupPanel
Solution 1
Ok, so I fixed it myself. After screwing around I worked out that I just need to add an <a4j:region>
around the content in the <rich:popupPanel>
. So now the xhtml looks something like this:
<rich:popupPanel id="rate-panel" modal="true" height="444" width="780" top="60" show="false" onmaskclick="#{rich:component('rate-panel')}.hide()" styleClass="cs-modal">
<a4j:region id="panel-region">
/**Some html here**/
<a4j:commandLink immediate="false" action="#{venueScore.up}" render="panel-region" styleClass="rate love">
<span>Love it</span>
</a4j:commandLink>
/**Some more html here**/
</a4j:region>
</rich:popupPanel>
Solution 2
I had the same problem, a4j:commandLink only worked after first click.... put the poppanel inside a form and add domElementAttachment...
<h:form id="myform">
<rich:popupPanel id="pop" domElementAttachment="form">
...
<a4j:commandLink />
...
</rich:popupPanel>
</h:form>
Aaron Chambers
Ruby (and Java when I have to) developer out to make the web awesome!
Updated on June 14, 2022Comments
-
Aaron Chambers about 2 years
I seem to be having a problem where I have an a4j:commandLink on a rich:popupPanel but the action is not firing. The xhtml looks as follows:
<rich:popupPanel id="rate-panel" modal="true" height="444" width="780" top="60" show="false" onmaskclick="#{rich:component('rate-panel')}.hide()" styleClass="cs-modal"> /**Some html here**/ <a4j:commandLink immediate="false" action="#{venueScore.up}" render="rate-panel" styleClass="rate love"> <span>Love it</span> </a4j:commandLink> /**Some more html here**/ </rich:popupPanel>
And the managed bean looks as follows:
@Named("venueScore") @ViewScoped public class VenueScoreManager extends BaseManager implements Serializable { public void up() { System.out.println("TEST"); //Do something } }
I have made the managed bean @ViewScoped.
I have also tried adding an
<h:form>
around the commandLink however, this does even less than without it. I actually think that is because the commandLink is inside the<h:form>
in which the link that opened the popupPanel sits.Anyway, can someone please point me in the direction of why the action not fire?
-
Amr H. Abd Elmajeed about 12 yearsYou cannot believe how much time i spent trying to find this answer! How did you reach this solution ?
-
Aaron Chambers about 12 years@AmrH.AbdelMajeed - I probably spent just as much time as you. Trial and error in the end I think solved it ;)