繁体   English   中英

JSF:2个字段的ajax键入

[英]JSF:ajax keyup for 2 fields

我有2个autofill fileds empname和empno如果我给empno剩余字段应该从数据库自动填充,与empname相同。但是问题是当我插入新的empno时,剩余输入字段已设置为null,与empname相同如何解决它。

<h:outputText  value="Employee_no"/>
        <h:inputText id="empp"    value="#{Bean.dto.empno}" >
           <p:ajax event="keyup"  update="empn,des,dep,loc"  listener="#{Bean.Workerno}"/>  
       </h:inputText>
       <h:outputText value="Employee_Name"/>
       <h:inputText id="empn"  value="#{Bean.dto.empname}" >
         <p:ajax event="keyup" update="empp,des,loc,dep"  listener="#{Bean.WorkerName}"/>  
       </h:inputText>
       <h:outputText value="Department"/>
       <h:inputText id="dep"    value="#{Bean.dto.de}" />
       <h:outputText value="Designation"/>
       <h:inputText   id="des"   value="#{Bean.dto.de}" />

        <h:outputText  value="Employee_no"/>
        <h:inputText id="empp"    value="#{Bean.dto.empno}" >
           <p:ajax event="keyup"  update="empn,des,dep,loc"  listener="#{Bean.Workerno}"/>  
       </h:inputText>
       <h:outputText value="Employee_Name"/>
        <h:inputText id="empn"  value="#{Bean.dto.empname}" >
         <p:ajax event="keyup" update="empp,des,loc,dep"  listener="#{Bean.WorkerName}"/>  
        </h:inputText>
        <h:outputText value="D"/>
        <h:inputText id="dep"    value="#{Bean.dto.d}" />
         <h:outputText value="Designation"/>
        <h:inputText   id="des"   value="#{Bean.dto.de}" />

豆角,扁豆

您的代码看起来不错...

一件事是将ajax事件从KeyUp更改为blur

KeyUp-强制为每个键入的字母调用listener方法。

模糊 -键入内容后离开文本框时强制调用侦听器方法。

在这里您需要'blur'事件,因为您需要在输入所有empno之后调用数据库。 更改事件后,确保从数据库检索值


至于我的看法,当ajax侦听器强制执行时,您的数据库值未达到workerNo()

JSF代码

<h:ouputText value="empno"/>
 <p:inputText id="empno" value="#{bean.empno}">
     <p:ajax  event="blur" listener="#{bean.ajaxEvent}" update="empname"/>
 </p:inputText>

 <h:ouputText value="empname"/>
 <p:inputText id="empname" value="#{bean.empname}">

豆代码

//Setters and getters of empname,empno

 public void ajaxEvent()
 {
   if(getEmpNo()==//DB empno)
   {
      setEmpName("DB empname"); //Here only your updating the name field
   }
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM