title: How to submit values in a pop-up panel?
body: <p>I have bean struggling to understand how to use the <em>rich:popupPanel</em> component in the right way. There are (at least not that I could find) few post about how to use the <em>rich:popupPanel</em> and how to submit values from it.</p>
  
  <p>To make matter worse the panel seams to add (when checking the html) a hard coded "_content" to its component id name (to the div generated). I have tried to use <em>aj4:region</em> tag to partial render the complete form. But that didn't seamed to work, cause nothing where posted to managed bean. So now I have one option left, where the panel has its own form, outside the main one on the page. </p>
  
  <p>I can see that the evaluation of the form (popup) values is happening, but not the execution of the bean function that persist the values (I see the POST request of the command button). The only reason I can think of at the moment, is that the pop-up panel use another bean to persist the values that the main form on the page (both of them are session scoped).
  I am thinking of omit the pop-up panel all together, since it seams so hard to make this work. Maybe its a well know secret, since it so few post about it. It behaves the same if if use <em>componentController</em> or only a <em>a4j:commanLink</em>. </p>
  
  <p>How is it possible to submit values from a <em>rich:popupPanel</em> and invoke a backing bean function to persist the pop-up form values ?</p>
  
  <p>Appreciate if someone can shed some light on this, greetings Chris. </p>
  
  <p>I use Richfaces 4.0-final on Glassfish 3.1</p>
  
  <pre><code>&lt;h:form id="main_form"&gt;
  &lt;!-- Command for popup --&gt;
  &lt;a4j:commandLink actionListener="#{userController.prepareCreateSysRequest}" oncomplete="#{rich:component('popup_sys_user_req_form:popup_sys_user_req')}.show(); return false;" 
                                       execute="@this" value="Request New Sector/Category" /&gt;
  
      ...
  &lt;a4j:commandButton action="#{projectController.Create}" ...&gt;
  &lt;/h:form&gt;
  
  &lt;h:form id="popup_sys_user_req_form"&gt;
      &lt;rich:popupPanel id="popup_sys_user_req" modal="true" autosized="true" resizeable="false"&gt;
          &lt;f:facet name="header"&gt;
              &lt;h:outputText value="New Project Request" /&gt;
          &lt;/f:facet&gt;
          &lt;f:facet name="controls"&gt;
              &lt;h:outputLink value="#"
                            onclick="#{rich:component('popup_sys_user_req')}.hide(); return false;"&gt;
                  X
              &lt;/h:outputLink&gt;
          &lt;/f:facet&gt;
          &lt;h:panelGrid columns="2"&gt;
              &lt;h:outputLabel value="Request New:" /&gt;
              &lt;h:selectOneMenu id="sys_req_type" value="#{userController.selectedSysRequestType}" required="true" requiredMessage="Request Type is required" title="Request Type"&gt;
                  &lt;f:selectItems value="#{userController.getSysRequestTypeItems()}"&gt;
                  &lt;/f:selectItems&gt;
              &lt;/h:selectOneMenu&gt;
              &lt;h:outputLabel value="Description:" /&gt;
              &lt;h:inputTextarea id="user_req_desc" value="#{userController.selectedSysUserRequest.description}" required="true" requiredMessage="Decription is missing" /&gt;
          &lt;/h:panelGrid&gt;
          &lt;a4j:commandButton action="#{userController.CreateSysUserRequest}" onclick="#{rich:component('popup_sys_user_req')}.hide(); return false;" execute="@form" render="popup_sys_user_req_form" value="Send Request" /&gt;
      &lt;/rich:popupPanel&gt;
  &lt;/h:form&gt;
  </code></pre>