[richfaces-issues] [JBoss JIRA] Updated: (RF-9529) rich:popupPanel with a4j:commandButton. After an ajax submit there are no values submitted

Adrian Ruoss (JIRA) jira-events at lists.jboss.org
Mon Nov 8 04:52:02 EST 2010


     [ https://jira.jboss.org/browse/RF-9529?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adrian Ruoss updated RF-9529:
-----------------------------

    Attachment: DataBean.java
                popup_problem.xhtml
                popup_works.xhtml


Hello Nick,

Probably I've found a similar problem during my tests of the popup (M4). It's not possible to set values within a popup when the from is around the popup. The input's value is not submitted within the HTTP request. But when the popup contains its own form then it works.

See full code examples attached



> rich:popupPanel with a4j:commandButton. After an ajax submit there are no values submitted
> ------------------------------------------------------------------------------------------
>
>                 Key: RF-9529
>                 URL: https://jira.jboss.org/browse/RF-9529
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: component-a4j-core
>    Affects Versions: 4.0.0.Milestone3
>         Environment: Richfaces M2 and M3
>            Reporter: P N
>            Assignee: Nick Belaevski
>            Priority: Critical
>         Attachments: DataBean.java, popup_problem.xhtml, popup_works.xhtml
>
>
> On my page i´m using a rich:popupPanel. On this panel i have a form and some input field (for test only 1) and an a4j:commandbutton with it. I want to make an Ajax Request on it to save the data, when i click the button the actionListener is called, but i get no value from the input field, i always get null. If i test this on a normal page, without a rich:popupPanel it works.It works when i use a <h:commandButton actionListener="#{myActionListener.method}"> <f:ajax execute="@form" render="@form"/>, then the data is submitted. 
> Example: 
> <rich:popupPanel
>             id="popup"
>             modal="true"
>             height="600"
>             width="800"
>             resizeable="true"
>         >
>             <f:facet name="header">
>                     <h:outputText value="Create new Project"/>
>                 </f:facet>
>  
>                 <f:facet name="controls">
>                     <h:form
>                         prependId="false"
>                         id="insidefrm"
>                     >
>                         <a4j:commandLink
>                             actionListener="#{projectVC.close}"
>                             oncomplete="#{rich:component('popup')}.hide();"
>                         >
>                             <h:graphicImage
>                                 value="/resources/ui-richfaces/gfx/close.gif"
>                             />
>                         </a4j:commandLink>
>                     </h:form>
>                 </f:facet>
>  
>                 <h:form
>                     id="popupfrm"
>                 >
>                     <h:panelGrid id="errmsg">
>                         <h:messages id="msg"/>
>                     </h:panelGrid>
>  
>                 <h:panelGrid
>                     columns="4"
>                     columnClasses="columnslabel,columnstextfield,columnslabel,columnstextfield"
>                 >
>                     <h:outputLabel
>                         for="txttitle"
>                         value="Title"
>                         styleClass="labelfortext"
>                     />
>  
>                     <h:inputText
>                         id="txttitle"
>                         value="#{projectVM.budget}"
>                         styleClass="textafterlabelblack"
>                         required="true"
>                         autocomplete="off">
>                     </h:inputText>
>                 </h:panelGrid>
>                 <a4j:commandButton
>                     id="save"
>                     value="save"
>                     execute="@form"
>                     render="projecttbl errmsg" <!-- After click i want to reRender a Datatable -->
>                     actionListener="#{projectVC.saveTest}"
>                 >
>                 </a4j:commandButton>
>             </h:form>
>  
>         </rich:popupPanel>
>  
> Controller code
> public void saveTest(ActionEvent event) {
>         log.debug("Test Ajax ");
>         if(getProjectVM().getBudget() != null ) {
>             log.debug("You Entered ["
>                     + getProjectVM().getBudget() + "]");
>         }
>         FacesUtils.addMessageIntoContextSeverityInfo(null, "Just an Info Message", null) ;
>     }
> When i change in the popup from a4j:commandButton to (then it works as supposed) 
> <h:commandButton
>       id="save"
>       value="save"
>       actionListener="#{projectVC.saveTest}"
>  >
>       <f:ajax
>         execute="@form"
>         render=":datatablefrm @form"
>        />
> </h:commandButton>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the richfaces-issues mailing list