2013-11-07 3 views
0

я работаю над JSF primefaces, в том, что у меня есть проблемы с представлением формыКак избежать commandButton, чтобы отобразить все компоненты в форме submit?

Описание проблемы:

Я использую primefaces tapView панели, в том, что каждый кран я один набор поле ввода с submitButton, где я устанавливаю все поле, являются обязательными, если я ввожу значение одним краном (tap1) и даю submit означает, что действие не запускается, причина в том, что я установил другой ответвитель (tap2) поле обязательное , поэтому форма не получает submit.

Мой JSF код:

<h:form> 
<p:tabView > 
<p:tab id="tap1" title="Tap1"> 

    <h:panelGrid> 
     <h:panelGroup id="ip_leave"> 
    <h:outputText value="From" styleClass="op1" style="margin-right:10px;" /> 
    <p:calendar pattern="dd/MM/yyyy" effect="drop" value="#{leavehistory.leaveFrom}" required="true" size="10"/> 
    <h:outputText value="To" styleClass="op1" style="margin-left:40px;margin-right:10px;"/> 
    <p:calendar pattern="dd/MM/yyyy" effect="drop" value="#{leavehistory.leaveTo}" required="true" size="10"/> 
    <p:commandButton value="Get" actionListener="#{leavehistory.submitLeaveHistory}" update="tap1" style="margin-left:40px;" /> 
    </h:panelGroup> 
    </h:panelGrid> 
</p:tab> 
<p:tab id="tap2" title="Tap2"> 
    <h:panelGrid id="ip_reject"> 
      <h:panelGroup > 
      <h:outputText value="From" styleClass="op1" style="margin-right:10px;" /> 
      <p:calendar pattern="dd/MM/yyyy" effect="drop" value="#{leavehistory.rDateFrom}" required="true" size="10"/> 
      <h:outputText value="To" styleClass="op1" style="margin-left:40px;margin-right:10px;"/> 
      <p:calendar pattern="dd/MM/yyyy" effect="drop" value="#{leavehistory.rDateTo}" required="true" size="10"/> 
      <p:commandButton value="Get" actionListener="#{leavehistory.submitRejectedLeaveHistory}" update="tap2" style="margin-left:40px;" /> 
      </h:panelGroup> 
      </h:panelGrid> 
</p:tab> 
</p:tabView> 

Мой вопрос заключается в том, чтобы частично представить поля только в одном кране?


Обновлено:

Наконец работал с добавлением process атрибута в CommandButton

<p:commandButton value="Get" actionListener="#{leavehistory.submitLeaveHistory}" update="tap1" style="margin-left:40px;" />

ответ

1

Используйте 'процесс' атрибут на р: CommandButton назвать эти компоненты или их родителей именования, который вы хотите обработать. Кроме того, вы, вероятно, хотите также установить атрибут partialSubmit на true. Это остановит PF от отправки этих полей на сервер, которые в любом случае не будут обработаны.

+0

Вы можете использовать один пример для использования атрибута 'process' – kark

+0

Uhm, вы имеете в виду, могу ли я привести пример? Я не собирался ничего замышлять, особенно не вместе с «некоторым примером»;) –

+0

Он работал с атрибутом 'process' – kark

Смежные вопросы