0

我有 3 个标签的简单流程。我已经在展示中测试了 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>
4

1 回答 1

2

不要使用嵌套表单

HTML 不允许嵌套表单,因此您也不应该在 primefaces 中使用它们。它们可能会导致不良行为。

请参阅:其他stackoverflow问题,或者 JSF 中要避免的一系列问题:这里(注意第 2 点)

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

于 2013-04-24T05:37:20.077 回答