我在其中一组文本框是基于被运项目的数量创造了一个页面:如何重新调整光标到无效的输入元素
<c:forEach var="num" begin="1" end="${qtyToShip}" step="1" varStatus ="status">
<tr>
<td>
<input class="form-med" type="text" name="shipItems[${num - 1 }].barCode" id="shipItems[${num - 1 }].barCode" onchange="if(!G2Step2Validate(this,'${shippingCommand.boxType}')){$(this).focus();}" />
</td>
<td>
<input class="form-med" type="text" name="shipItems[${num - 1 }].shipCompanyBarCode" onkeyup="if (!(event.keyCode==16 || (event.keyCode==9 && event.shiftKey))) {UPSStep2Validate(this);}"/>
</td>
</tr>
</c:forEach>
这里是我想发生什么。当用户输入条形码时,我需要进行AJAX调用以验证条形码是否有效(可用于,正在发送的内容以及尚未在此订单上使用的内容 - 防止重复扫描)。
使用DWR的AJAX和该服务都工作正常。
问题是,如果验证失败,我希望焦点返回到有问题的字段。这没有发生。重点总是转到下一个输入框。我试图与不同的事件:改变,模糊,关键等我已经尝试将焦点内联,在JavaScript中,尝试过与jQuery,JavaScript等,但没有运气。
寻找关于如何将焦点放回导致问题的输入框的建议/解决方案。
您是否尝试过调用您想获得焦点的DOM元素的“.focus()”方法?这就是你必须要做的。 – Pointy