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