vinodh
vinodh

Reputation: 11

Ajax not working with primefaces

In my JSF page I have form when I click submit button in the same page I need to show an static content. But When I click <p:commandbutton> nothing appears in the page. When I put ajax="false" then only action taken place but the Static content display in new page. In my Backing bean I have used Session scoped. I am using JSF 2.0 and Primefaces 3.2.

My JSF Page.

<h:form>
  <h:panelGroup rendered="#{not license.showForm}">

    <p:panel header="License Key Request" >

      <h:panelGrid columns="2" >
        ..
        <h:outputText value="Bla bla"/>
        ..
        <h:outputText value="Bla Bla"  />
      </h:panelGrid>

      <TABLE>
       ..
       <h:outputLabel for="name" value="Requestor Name : *" />
        ..
       <p:inputText id="name" value="#{license.name}" required="true" requiredMessage="Name is required."/>
        ..
       <h:outputLabel for="company" value="Company : * " />
        ..
       <p:inputText id="company" value="#{license.company}" required="true" requiredMessage="Company is required."/>
        ..
      </table>

      <p:commandButton  value="Form" id="btnAdd" process="@form" 
      action="#{license.add}" />
        ..                                      
      </table>
   </p:panel>
 </h:panelGroup>

  <h:panelGroup rendered="#{license.showForm}" >

   <h:outputText value="Bla Bla"/>
   </h:panelGroup>
</h:form>

Upvotes: 1

Views: 2299

Answers (1)

Matt Handy
Matt Handy

Reputation: 30025

Your source code is somewhat confusing (e.g. you have two closing table tags). But I assume that you want to show the panelGroup at the bottom if the button is clicked.

The easiest way would be to add an update ="@form" to your commandButton:

<p:commandButton value="Form" id="btnAdd" 
                 process="@form" update="@form"
                 action="#{license.add}" />

You don't need to update the whole form but only the specific component. Then you need to give the panelGroup an id attribute and use this attribute instead of @form. However, since it is not clear for me how your naming containers are organized, it could be puzzling to find the correct relative id.

Upvotes: 2

Related Questions