I have a PF's selectOneRadio to choose a file type to download. Also I have a commandButton to call a download servlet using onclick attribute. The problem is that when I choose file type and click the button, the chosen value is of course not yet submitted. I'm looking for some way to get the chosen value available when I click on a download button.
Here's my code:
<p:selectOneRadio id="sorType" value="#{bean.type}" layout="custom">
<f:selectItem itemLabel="XML" itemValue="XML" />
<f:selectItem itemLabel="XLS" itemValue="XLS" />
<f:selectItem itemLabel="CSV" itemValue="CSV" />
</p:selectOneRadio>
<p:commandButton type="button" ajax="false" onclick="return downloadFile('#{bean.type}');" />
If you want to check the selected value on client side, you will need to define
widgetVarattribute for yourp:selectOneRadio, for example:This will allow the element to be easily found - you can then use it further to check which value was actually selected. I can see two options how to do it:
Select whichever approach suits you better - both will return either the selected value or an empty string in case nothing has been selected. So all that remains is calling it in you button's
onclick, so for example:Tested on PrimeFaces 5.2