当前位置: 首页 > 知识库问答 >
问题:

JSF Primefaces输入值在SelectOnemenu时重置

仲孙献
2023-03-14

手动选择selectOneMenu id=“format”的值时,输入的输入值重置

selectOneMenu id=“format”的渲染效果很好。但在选择selectOneMenu id=“format”的下拉值时,输入的字段输入值为空。

Employee name[Mark]         Employee Type       [New]       

Format [Select some drop down value]
.

电流输出

Employee name[Entered Value Disappeared/null]           Employee Type       [Selected value disappeared/null]       

Format [Selected some drop down value]

预期产出

Employee name[Mark]         Employee Type       [New]       

Format [Selected Value]
.

我已经尝试添加

                <p:ajax event="valueChange" immediate="true" process="@form" />
                The rendering fails if I add it for the selectOneMenu

我有下面的代码

主要的xhtml

    <h:form id="newFormBank" enctype="multipart/form-data">   
    <h:panelGroup id="id">
    <p:growl id="growl" sticky="true" showDetail="true" />
    <p:wizard id="newBankWizard" showNavBar="true" widgetVar="bankWiz" flowListener="#{javaMB.wizardFlow}">
        
        <p:tab id="pro" title="Banks">
                <ui:include src="/jsf/xyz.xhtml" />                      
                <ui:include src="/jsf/employeeloan.xhtml" />                
                            
        </p:tab>
        </p:wizard> 
    </h:panelGroup>
    </h:form>

员工贷款。xhtml

<p:panel id="employeeLoan" styleClass="panelNoBorder">             
        <div class="ui-g">  <div class="ui-g-1"><p:outputLabel value="Employee Name" /></div>
                <div class="ui-g-3">    <p:row>        <p:inputText id="employeeName" maxlength="50" style="width: 65%;" value="#{javaMB.visaDetailsEntity.employeeName}"   >    </p:inputText> </p:row>    </div>
                <div class="ui-g-1"><p:outputLabel value="Employee Type" /></div>
                <div class="ui-g-3">
            <p:row>    <p:selectOneMenu id="employeeTypeList" value="#{javaMB.visaDetailsEntity.employeeTypeCode}" >    
                    <f:selectItem itemLabel="Select Release Type" itemValue=""> </f:selectItem>
                    <f:selectItem itemLabel="New" itemValue="1"  />
                    <f:selectItem itemLabel="Existing" itemValue="2"  />        </p:selectOneMenu> </p:row>     </div>            </div>
                <div class="ui-g">   <div class="ui-g-1"><p:outputLabel value="CREDIT" /></div>
            <div class="ui-g-3">
            <p:row>                
                <p:selectOneMenu id="format" value="javaMB.visaDetailsEntity.visaType.visaId">
                    <f:selectItem itemLabel="VISA" itemValue="1"  />
                    <f:selectItem itemLabel="MASTER CARD" itemValue="2"  />
                    <f:selectItem itemLabel="DISCOVER" itemValue="3"  />
                    <f:selectItem itemLabel="AMERICAN EXPRESS" itemValue="4"  />
                    <f:ajax render="@form" />                      
                </p:selectOneMenu>
            </p:row>
            </div>     
        </div>            
                    
        <div class="ui-g">
            <div class="ui-g-1"><p:outputLabel value="VISA" rendered="#{javaMB.visaDetailsEntity.visaType.visaId == '1'}"/></div>
            <div class="ui-g-3">     <p:row>
            <p:inputText id="visaeg" maxlength="9" size="30" value="#{javaMB.visaDetailsEntity.malaustin}"  label="VISA1" rendered="#{javaMB.visaDetailsEntity.visaType.visaId == '1'}"> 
            </p:inputText>
            </p:row>
            </div>
            <div class="ui-g-1"><p:outputLabel value="VISA" rendered="#{javaMB.visaDetailsEntity.visaType.visaId == '1'}"/></div>
            <div class="ui-g-3">
            <p:row>
            <p:inputText id="visaegg" maxlength="11" size="30" value="#{javaMB.visaDetailsEntity.malecinyc}" label="VISA2" onchange="negateLongitude()" rendered="#{javaMB.visaDetailsEntity.visaType.visaId == '1'}">
            </p:inputText>
            </p:row>
            </div>
        </div>                        
        
        <div class="ui-g">
            <div class="ui-g-1"><h:outputLabel  value="MASTER CARD" style="overflow: hidden" rendered="#{javaMB.visaDetailsEntity.visaType.visaId == '3'}"/></div>
            <div class="ui-g-3">
            <p:row>        
            <p:inputText id="masterd" maxlength="7" size="30" value="#{javaMB.visaDetailsEntity.atepmo}" rendered="#{javaMB.visaDetailsEntity.visaType.visaId == '3'}">
            </p:inputText>
            </p:row>
            </div>
            <div class="ui-g-1"><h:outputLabel for="masterdt" value="MASTER CARD DETAILS" rendered="#{javaMB.visaDetailsEntity.visaType.visaId == '3'}"/></div>
            <div class="ui-g-3">
            <p:row>
                    
            <p:inputText id="datilsmast" maxlength="8" size="30" value="#{javaMB.visaDetailsEntity.atepllanyc}" rendered="#{javaMB.visaDetailsEntity.visaType.visaId == '3'}">
            </p:inputText>
            
            </p:row> 
            </div>                   
        </div>

        <div class="ui-g">

            <div class="ui-g-1"><h:outputLabel  value="DISCOVER" rendered="#{javaMB.visaDetailsEntity.visaType.visaId == '4'}"/></div>
            <div class="ui-g-3">
            <p:row>

            <p:inputText id="ltdiscover" maxlength="2" size="30" value="#{javaMB.visaDetailsEntity.egrssfo}"  rendered="#{javaMB.visaDetailsEntity.visaType.visaId == '4'}">            
            </p:inputText>
            
            </p:row>
            </div>
            <div class="ui-g-1"><h:outputLabel  value="DISCOVER Details" rendered="#{javaMB.visaDetailsEntity.visaType.visaId == '4'}"/></div>
            <div class="ui-g-3">
            <p:row>
                    
            <p:inputText id="lodiscover" maxlength="4" size="30" value="#{javaMB.visaDetailsEntity.eongtx}"  rendered="#{javaMB.visaDetailsEntity.visaType.visaId == '4'}">
            </p:inputText>
            
            </p:row> 
            </div>                   
        </div>


        <div class="ui-g">

            <div class="ui-g-1"><h:outputLabel  value="AExp AZ" rendered="#{javaMB.visaDetailsEntity.visaType.visaId == '2'}"/></div>
            <div class="ui-g-3">
            <p:row>

            <p:inputText id="azaexp" maxlength="2" size="30" value="#{javaMB.visaDetailsEntity.aexpaz}"   rendered="#{javaMB.visaDetailsEntity.visaType.visaId == '2'}">     
            </p:inputText>  
            
            </p:row>
            </div>
            <div class="ui-g-1"><h:outputLabel  value="AExp FL" rendered="#{javaMB.visaDetailsEntity.visaType.visaId == '2'}"/></div>
            <div class="ui-g-3">
            <p:row>
                    
            <p:inputText  id="flaexp" maxlength="4" size="30" value="#{fvLocationMB.coordinateForm.aexpazfl}"  rendered="#{javaMB.visaDetailsEntity.visaType.visaId == '2'}">  
            </p:inputText>
                            
            </p:row> 
            </div>                   
        </div>
              
        </div>            
       </p:fieldset>
    </p:panel>
   </ui:composition>

javaMB getters setters实体getters setters

共有1个答案

公西良骏
2023-03-14

您的p:ajax语句是错误的,它可能应该如下所示:

<p:ajax event="valueChange" update="@form" />

请在此处找到内部工作的详尽解释:

了解PrimeFaces进程/更新和JSF f f:ajax执行/渲染属性

 类似资料:
  • 我正在通过一个教程视频制作一个程序,代码是启动、停止或退出汽车。程序的一部分是这样做,如果汽车已经启动或停止,你在程序中告诉他们。我的程序会告诉用户汽车已经启动或停止,但在我告诉它停止两次之后,而不是一次。希望有人能描述一下while循环和if语句中的布尔值之间的关系?

  • 我在localStorage中有一个变量集,我想把它放到PHP中。当php执行时,值已经在本地存储中设置,但是我应该如何进入php呢? 我试过这样的方法:

  • 我正在尝试编写一段代码来索引搜索一个值,如果它存在于数组中。以下是代码的样子: 每次我运行代码时,在将值输入数组时,它都会给我这个空指针异常:线程“main”java中的异常。lang.NullPointerException:无法存储到int数组,因为在indexSearch处“[]”为null。main(indexSearch.java:22) 为什么会这样,我该如何修复它?

  • 问题内容: 如何在输入框中获取输入框中的值? 问题答案: 每次释放键都会触发onkeyup。虽然它看起来是解决方案,但它仍然存在一些问题。 如果用户使用箭头移动光标,则会触发该光标,并且您必须检查自己是否字段值没有更改。 如果用户使用鼠标在输入字段中复制/粘贴一个值,或者在浏览器中单击“撤消/重做”,则不会触发。 就像在Mac或Google文档中一样,我不想保存按钮来在我们的应用程序中提交表单,这

  • 问题内容: 我想使用允许用户将持续时间值输入表单。有效值样本为: 但是,我在此方面取得的成功有限。有人可以建议如何实现吗?如果也可以使用a达到此结果,我也可以。 谢谢! 如果值钱,这是我目前的尝试: 这种排序有效,除了: 我无法获取h并m显示为纯文本(我尝试转义) * 小时数已达到最大值 问题答案: 代码:

  • 我试图通过修改hashCode()和equals()方法()在HashSet中添加重复的值? 我试过下面的代码 根据我的理解,如果有两个“a”的副本,HashSet将首先获得hashCode()以获得正确的bucket,然后检查equals()的值,如果equals返回true,则不会添加,但如果返回false,则会添加。因此,为了向我的集合添加重复值,我重写equals(),它总是返回false