点击jsf / primefaces中的按钮启用/禁用面板?

时间:2014-02-20 07:09:01

标签: javascript jquery jsf jsf-2 primefaces

我有一个名为Add oncilck的按钮,需要显示添加面板,并且在面板内有一个取消按钮点击取消面板应该关闭我的问题是点击添加按钮面板即将到来并消失。实际上,我已经包含了template_2.xhtml,如果我从template_2.xhtml中移除面板工作正常,但这些警告就像这样。表单组件需要在其祖先中有一个UIForm。建议:将必要的组件包含在内,我希望两件事都能正常工作,不应该发出警告。这是我的代码i know the problem that i 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>
    `

2 个答案:

答案 0 :(得分:0)

你的例子对我来说很好,[使用Primefaces 3.5 JSF 2.1.13] 这可能是您使用的按钮的问题。

通常h:commandButton不会进行Ajax提交,它会提交表单,直到您明确指定f:ajax,这可能是面板进入和消失的原因。

使用默认情况下提交ajax的p:commandButton,或者使用f:ajax h:commandButton

由于您未从h:commandButton调用任何ManagedBean的属性或方法,因此您甚至可以使用h:button

答案 1 :(得分:0)

JSF菜单和子菜单标签应该包含在表单标签中。所以我只需要一个单独的jsf文件和一些名称(比如xyz.xhtml),我只是在实际的jsf页面中使用

包含xyz.xhtml