使用Javascript将光标移动到下一个字段

时间:2010-10-15 18:32:22

标签: javascript extjs

基本上,下面的函数是一个监听器,用于更改一个下拉列表的选择。我希望光标移动到页面上的下一个字段,同时执行下面的功能。我如何在Javascript中执行此操作?页面上的下一个字段是ExtJs文本框。

function changeVehicleCondition() {
        var ValuationSource = getCurrentValuationSource();
        var vehicleConditionId = vehiclePnl.VehicleConditions.getValue();

        if (ValuationSource == 0) {
            vehiclePnl.VehicleConditionId.setValue(0);
        } else {
            vehiclePnl.VehicleConditionId.setValue(vehicleConditionId);
        }
    }

编辑:focus()对我不起作用,因为我已经尝试过了:

vehiclePnl.Mileage.focus();

没有运气..

3 个答案:

答案 0 :(得分:1)

对于ExtJs,你必须这样做:

focus( true, false );

true表示选择下一个字段中的文本,false表示是否延迟。它实际上对我不起作用,但我认为这是因为我的控件不匹配,但这就是代码。

答案 1 :(得分:0)

这不知道extjs

<select id="listen">...</select>
<input id="focus" />
<script type="text/javascript">
document.getElementById('listen').onchange = function () {
    changeVehicleCondition()
    document.getElementById('focus').focus()
}
</script>

脚本标记可以在选择之后的任何位置。你也可以这样做:

<select id="listen" onchange="changeVehicleCondition(); document.getElementById('focus').focus()">...</select>
<input id="focus" />

答案 2 :(得分:0)

让我们说您的表单面板被定义为变量“vehiclePnl”,而您想要关注的下一个字段具有名称属性“Mileage”。 而是使用您以前的代码

vehiclePnl.Mileage.focus();

然后你应该使用下面的代码

vehiclePnl.getForm().findField("Mileage").focus();