Reza
Reza

Reputation: 2046

Use p:AjaxStatus for different Component

I have two <p:inputText/> that i want use with the <p:ajaxStatus/> compeonent. When i run my page <p:ajaxStatus/> runs for both input texts. I want to display separate <p:ajaxStatus/> for each input text . Could you please see my code and solve this problem?

 <tr>
                <td colspan="2">
                    <p:outputPanel>
                        <p:inputText id="companynameInputText" value="#{AccountInfo.companyName}"  requiredMessage="#{signup_msg.requiredorganization}" required="true" style="width: 100%">
                            <f:validator validatorId="organizationNameUniqueValidator" />
                            <p:ajax  update="companyNameMessage"/>
                        </p:inputText>
                        <p:watermark for="companynameInputText" value="#{signup_msg.companyname}" />
                    </p:outputPanel>
                </td>
                <td>  
                    <p:ajaxStatus >              
                        <f:facet  name="start">
                            <p:graphicImage   value="resources/img/loading.gif"/>
                        </f:facet>
                        <f:facet name="complete">
                            <h:outputText value="" />
                        </f:facet>
                    </p:ajaxStatus>
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <p:inputText value="#{AccountInfo.position}" id="positionInputText" requiredMessage="#{signup_msg.requiredposition}" required="true" style="width: 100%"/>
                    <p:watermark for="positionInputText" value="#{signup_msg.position}" />
                </td>
                <td/>
            </tr>
            <tr>
                <td colspan="2">
                    <p:outputPanel>
                        <p:inputText  id="userNameInputText" value="#{AccountInfo.bizBizNetId}"  requiredMessage="#{signup_msg.reqiredpassword}" required="true" style="width: 100%">
                            <f:validator validatorId="UserNameValidator"/>
                            <p:ajax  update="userNameMessage"/>

                        </p:inputText>
                        <p:watermark for="userNameInputText" value="#{signup_msg.mobileemail}" />
                    </p:outputPanel>
                </td>
                <td>
                    <p:ajaxStatus>              
                        <f:facet name="start">
                            <p:graphicImage value="resources/img/loading.gif"/>
                        </f:facet>
                        <f:facet name="complete">
                            <h:outputText value="" />
                        </f:facet>
                    </p:ajaxStatus>
                </td>
            </tr>            
            <tr>

Upvotes: 0

Views: 1440

Answers (1)

kolossus
kolossus

Reputation: 20691

From the primefaces website about <p:ajaxStatus/>

Ajax Status is a global indicator to inform users about the ajax interactions.

The important part is the global, meaning only one <p:ajaxStatus/> is available per page and that one will handle all components that carry out any ajax processing on that one page.

Use BlockUI instead if you want individual ajax status indicators per component

Upvotes: 2

Related Questions