У меня есть кнопка, называемая 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}" >
<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-меню и теги подменю должны быть включены в тег формы. Так я просто создаю отдельный файл jsf с некоторым именем (скажем, xyz.xhtml), и я просто включил xyz.xhtml в фактическую страницу jsf, используя
Ваш пример отлично работает для меня, [с использованием 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