Включить / отключить панель при нажатии кнопки в jsf / primefaces?

0

У меня есть кнопка, называемая Add oncilck из панели добавления, которая должна отображаться, и внутри панели есть кнопка отмены onclick of cancel. Панель должна быть закрыта. Моя проблема заключается в нажатии кнопки "Добавить", панель наступает на мгновение и исчезает. на самом деле я включил template_2.xhtml, который имеет.. если я удалю из template_2.xhtml, панель работает нормально, но эти предупреждения поступают следующим образом. Компонент формы должен иметь UIForm в своей родословной. Предложение: приложите необходимые компоненты внутри, я хочу, чтобы обе вещи работали нормально, и предупреждения не должны появляться. Вот мой код, i know the problem that я am using 2 times form in 1 xhtml page but not able to overcome that help me out

     <h:commandButton value="Add" id="show"  action="#"  onclick="panelwv.show()" ></h:commandButton>
    <h:form>

        <p:panel id="panel" widgetVar="panelwv" visible="false"  header="Add Dependents">
             <h:panelGrid id="myPanel" columns="3" cellpadding="5" styleClass="text-input">


            <h:outputText value=""/>

              <h:outputLabel  value="Name" style="font-family: cursive;font-size: 18px;font-weight:normal;"/>  
              <h:inputText  id="name"  value="#{depco.depapp.dep.name}" styleClass="border" label="First Name" />
               <h:outputText value=""/>

              <h:outputLabel  value="Relationship" style="font-family: cursive;font-size: 18px;font-weight:normal;"/>  
              <h:inputText id="rel"  value="#{depco.depapp.dep.relationship}" styleClass="border" label="Relationship" />
               <h:outputText value=""/>



               <h:outputLabel  value="Date of Birth" style="font-family: cursive;font-size: 18px;font-weight:normal;"/>  
               <p:calendar id="dob"  value="#{depco.depapp.dep.dob}" showOn="button"  label="Date of Birth" />
               <h:outputText value=""/>


             <h:outputLabel value="Emp Id" />
             <h:selectOneMenu value="#{depco.depapp.dep.empId}"  > &nbsp;
                 <f:selectItems value="#{coemp.empapp.itemsAvailableSelectOne}"  var="emp" itemLabel="#{emp.empId}" itemValue="#{emp.empId}" />
                 <f:converter converterId="employeeConverter" />
             </h:selectOneMenu> 
               <h:outputText value=""/>


               <h:commandButton value="Save" action="#{depco.createDepAction()}"/>
                <h:commandButton action="#" id="hide" onclick="panelwv.hide()" value="cancel"/> 


             </h:panelGrid>
                 </p:panel> 
    </h:form>
    '
Теги:
jsf
primefaces
jsf-2

2 ответа

0
Лучший ответ

JSF-меню и теги подменю должны быть включены в тег формы. Так я просто создаю отдельный файл jsf с некоторым именем (скажем, xyz.xhtml), и я просто включил xyz.xhtml в фактическую страницу jsf, используя

0

Ваш пример отлично работает для меня, [с использованием Primefaces 3.5 JSF 2.1.13].
Возможно, это проблема с кнопками, которые вы использовали.

Обычно h:commandButton не будет делать Ajax submit, он отправляет форму до тех пор, пока вы не укажете f:ajax явно, так что это может быть причиной того, что панель подходит и исчезает.

Используйте p:commandButton который выполняет ajax submit по умолчанию. p:commandButton используйте f:ajax с h:commandButton.

Поскольку вы не вызываете какое-либо свойство или метод ManagedBean из вашего h:commandButton, вы можете даже использовать h:button

  • 0
    : я включил страницу jsf с именем template_2.xhtml, если я включаю <p: layout> ... </ p: layout> в <h: form> .... </ h: form>, эта ошибка появляется и панель я пытаюсь использовать p: commandButton та же самая проблема, вы можете помочь мне с примером

Ещё вопросы

Сообщество Overcoder
Наверх
Меню