Javascript 使用素面设置焦点

Javascript 使用素面设置焦点,javascript,primefaces,Javascript,Primefaces,我有一个用于更新公司股票的应用程序。我想要一个有两个输入文本的页面。第一个输入项目ID和按键的位置。然后焦点转到第二个inputText,即项目的库存量。那很好。然后,当我修改金额并按下时,项目被保存,焦点应返回到第一个inputText。确实如此,但它随后又直接跳转到第二个输入文本。有什么想法吗 <div id="page-content"> <h:form id="frmItem" prependId="false"> <p:focus id=

我有一个用于更新公司股票的应用程序。我想要一个有两个输入文本的页面。第一个输入项目ID和按键的位置。然后焦点转到第二个inputText,即项目的库存量。那很好。然后,当我修改金额并按下时,项目被保存,焦点应返回到第一个inputText。确实如此,但它随后又直接跳转到第二个输入文本。有什么想法吗

<div id="page-content">
   <h:form id="frmItem" prependId="false">
      <p:focus id="focus" context="frmItem:itemNo" />

      <p:messages id="vmsgs" severity="error,warn" autoUpdate="true" />
      <p:panelGrid id="inventoryHeader" columns="3" columnClasses="form-label,form-input" styleClass="form-grid">

         <p:outputLabel for="itemNo" value="item no." />
         <p:inputText id="itemNo" autocomplete="off" value="#{wmsItemInventoryActionBean.itemNo}"
            onkeypress="if(event.keyCode==13){onchange();return false;}">
            <p:ajax process="@form" update="@form:focus,@form:stockAmount,@this"
               listener="#{wmsItemInventoryActionBean.itemNo}" oncomplete="stockAmount.select()" />
         </p:inputText>
         <p:message for="itemNo" />

         <p:outputLabel for="stockAmount" value="stock" />
         <p:inputText id="stockAmount" autocomplete="off" value="#{wmsItemInventoryActionBean.stockAmount}" onkeypress="if(event.keyCode==13){onchange();return false;}">
            <p:ajax process="@form" listener="#{wmsItemInventoryActionBean.save()}" oncomplete="itemNo.focus()"/>
         </p:inputText>
         <p:message for="stockAmount" />

      </p:panelGrid> 
   </h:form>
</div>
这就是解决方案:

update="@form:focus"

<p:inputText id="stockAmount" autocomplete="off" value="#{wmsItemInventoryActionBean.stockAmount}" onkeypress="if(event.keyCode==13){onchange();return false;}">
    <p:ajax process="@form" update="@form:focus" listener="#{wmsItemInventoryActionBean.save()}" oncomplete="itemNo.focus()"/>
</p:inputText>