PrimeFaces Tabview选项卡更改无法正常工作

时间:2013-04-24 05:22:16

标签: primefaces tabs tabview

我有3个标签的简单流程。我在showcase上测试了Simple tabview示例。 但是当我用我的内容更改第一个标签时,我无法切换到其他标签。

请指导一下需要改变的错误。 早些时候我使用的是向导,但我有相同的标签更改问题,因为点击下一步是每次都带我到最后一个标签。 现在面对Tabview的其他问题

我发布了代码:

    <h:form id="compositionmaster">
    <p:tabView id="tabView">

    <p:tab id="tab1" title="Committee Details">

                <h:panelGrid columns="2" columnClasses="label, value">
                    <h:outputText value="Committee Type: " />
                    <p:selectOneMenu  id="type" value="#{userWizard.comm.committeeType}" effect="fade">
                         <f:selectItem itemLabel="----Select----" itemValue="0" />  
                         <f:selectItem itemLabel="New" itemValue="1" />                 
                         <f:selectItem itemLabel="Existing" itemValue="2"  />

                    </p:selectOneMenu>

                    <h:outputText value="Concerned Division: " />
                    <p:selectOneMenu  id="division" value="#{userWizard.comm.committeeSubType}" effect="fade">  
                        <f:selectItem itemLabel="----Select----" itemValue="0" />  
                        <f:selectItem itemLabel="Administration" itemValue="1"/>
                        <f:selectItem itemLabel="Finance" itemValue="2" />
                        <f:selectItem itemLabel="Marketing" itemValue="3" />
                        <f:selectItem itemLabel="Others" itemValue="4" />   
                    </p:selectOneMenu>

                    <h:outputText value="Committee Name: " />
                    <p:inputText value="#{userWizard.comm.committeeName}" maxlength="100"/>

                    <h:outputText value="Subject: " />
                    <p:inputText value="#{userWizard.comm.committeeSubject}" maxlength="100" />

                    <h:outputText value="Description: " />
                    <p:inputText value="#{userWizard.comm.committeeDescription}" maxlength="500" />

                    <h:outputText value="Tenure of Committee: " />
                    <p:panelGrid columns="2" >
                        <p:inplace id="Tenure"  label="From">
                             <p:calendar value="#{userWizard.comm.startDate}" id="start" showOn="button" />
                        </p:inplace>
                        <p:inplace label="To">
                             <p:calendar value="#{userWizard.comm.endDate}" id="end" showOn="button" /> 
                        </p:inplace>
                    </p:panelGrid>
                    <h:outputText value="Add Document: " />

                    <h:form enctype="multipart/form-data">

                        <p:fileUpload fileUploadListener="#{fileBean.handleFileUpload}" mode="advanced" update="messages"  multiple="true" sizeLimit="100000" allowTypes="/(\.|\/)(gif|jpe?g|png|doc|pdf)$/"/>

                    </h:form>
              </h:panelGrid>     
        </p:tab>

    <p:tab id="tab2" title="Godfather Part II">
        <h:panelGrid columns="2" cellpadding="10">

            <h:outputText id="tab2Text" value="stature grows."/>
        </h:panelGrid>
    </p:tab>

    <p:tab id="tab3" title="Godfather Part III">
        <h:panelGrid columns="2" cellpadding="10">

            <h:outputText id="tab3Text" value="After a promise that his family would one day be completely legitimate."/>
        </h:panelGrid>
    </p:tab>

</p:tabView>

</h:form>

1 个答案:

答案 0 :(得分:2)

请勿使用嵌套表单

HTML不允许使用嵌套表单,因此您不应在表面中使用它们。它们可能会导致意外行为。

请参阅:other stackoverflow questions,或JSF中要避免的一系列好事:here(注意第2点)

这是我在代码中看到的唯一问题。除此之外,在极少数情况下,如果使用ajax而不处理整个表单,则可能会出现问题。但正如我所知,在您的代码中并非如此。