2016-10-10 1 views
1

Ich habe eine große JSF-Anwendung erstellt mit Primefaces Version 6.0 läuft auf WebSphere Application Server, Version 8.5.5. Ich möchte verschachtelte Formulare vermeiden, daher ist meine p:tabView nicht in einem Formular enthalten, aber jede Registerkarte hat ihre eigene Form. Quelle für mein Tabansicht sieht ungefähr so ​​aus:Primefaces senden Formular auf p: tabView Registerkarte ändern

 <p:tabView activeIndex="#{tabViewBean.selectedTab}" id="tabView" dynamic="true" cache="false" widgetVar="tabViewWidget"> 
     <p:ajax event="tabChange" listener="#{tabViewBean.handleTabChange}" update=":tabView" /> 
     <p:tab id="tab1" title="First tab"> 
      <h:form id="FirstTabForm"> 
       <ui:include src="/views/test/firstTabTab.xhtml"/> 
      </h:form> 
     </p:tab> 
     <p:tab id="tab2" title="Drugi tab"> 
      <h:form id="SecondTabForm"> 
       <ui:include src="/views/test/secondTab.xhtml"/> 
      </h:form> 
     </p:tab> 

     ... more tabs ... 

    </p:tabView> 

Gibt es eine Möglichkeit ich das Formular innerhalb aktueller Tab einreichen kann, ohne command hinein klicken. Ich möchte das auf Tab-Change-Event erreichen.

Jede Registerkarte hat 15-20 Eingabefelder und ich möchte keine Ajax für jede Wertänderung verwenden, weil es meine Anwendung erheblich verlangsamt.

Antwort

1

Ich denke, Sie können process Attribut mit einem dynamischen Selektor auf tabChange Ereignis verwenden.

Sie können es in Aktion hier sehen: Ajax Framework - Partial Process

Verwandte Themen