在特定条件后启用的禁用字段上的自动对焦

时间:2016-08-10 10:07:08

标签: angularjs node.js express

我有两个输入字段,如下图所示。

Two Input Fields

我正在尝试关注现在被禁用的下一个字段但是在第一个字段中输入字符的maxlength后它将被启用。并且我希望在启用后自动将光标放在下一个字段上。

我正在使用的代码如下:

.directive('moveNext', function(){
return{
    restrict: 'A',
    link: function($scope, element){
        element.on("input", function(e){
            if((element.val().length==element.attr("maxlength"))){
                console.log('asdfasdf');
                var tabindex = 1;
                var $nextelement = $('input[tabindex='+(tabindex+1)+']');
                console.log($nextelement);
                if($nextelement){
                    console.log('asdf');
                    $nextelement.focus();
                }
            }
        });
    }
}
});

1 个答案:

答案 0 :(得分:5)

尝试不使用ng-disabled而是使用javascript的禁用属性。

document.getElementById("myText").disabled = true;

然后在你的指令下首先将false设置为false并将焦点移到下一个元素上,如下所示:

document.getElementById("myText").disabled = false;
$nextelement.focus();

在你的情况下,在字段启用之前,在摘要周期后首先调用焦点。