0

我有 2 个自动填充文件 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}" />

4

1 回答 1

3

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

一件事是将ajax事件从更改KeyUpblur

KeyUp - 强制为每个输入字母调用侦听器方法。

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

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


至于我的担心, workerNo()当 ajax 侦听器强制执行时,您的 DB 值并没有达到。

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
   }
 }
于 2013-11-05T08:02:00.383 回答