当前位置: 首页 > 知识库问答 >
问题:

将焦点设置在AngularJs格式的第一个无效输入上

斜向文
2023-03-14

共有1个答案

柳胜
2023-03-14

还可以使用Angular.Element

angular.element('input.ng-invalid').first().focus();

视图

<form name="myForm" novalidate="novalidate" data-ng-submit="myAction(myForm.$valid)" autocomplete="off"></form>

控制器

$scope.myAction= function(isValid) {
    if (isValid) {
        //You can place your ajax call/http request here
    } else {
        angular.element('input.ng-invalid').first().focus();
    }
};
angular.element($document[0].querySelector('input.ng-invalid')).focus();
angular.module('myModule')
.controller('myController', ['$document', '$scope', function($document, $scope){
    // Code Here
}]);
 类似资料:
  • 问题内容: 我已经阅读了几篇有关AngularJs的焦点设置的文章和StackOverflow问题。 不幸的是,我阅读的所有示例都假定我可以将一些属性添加到元素中以获得焦点,例如focusMe指令。 但是,如果我事先不知道将焦点设置为哪个输入怎么办?特别是如何将焦点设置为具有$ invalid集的表单中的第一个输入元素-即未通过验证的元素。可能有几个输入未通过验证,因此我不能使用仅以此为基础尝试调

  • 当调用函数时,将显示输入。这个函数(绑定到ng-dblclick指令)只是将true设置为,并尝试调用jQuery对输入元素的方法(以前存储在链接器函数的作用域中,作用域为: 简而言之,我想在双击某物时可视化以前隐藏的输入,并立即对其进行聚焦。需要即时焦点,因为当输入失去焦点时会隐藏(我希望用户能够立即编辑输入内容。当用户点击离开时,输入会隐藏)。 问题是,我似乎不能以编程方式将焦点放在input

  • 问题内容: 我将AngularJS与ng-repeat指令一起使用,以将对象数组显示为列表。 属性“ isNewest”仅在数组的一个元素上为true。我想将键盘焦点设置在该项目的文本输入上。如何使用AngularJS做到这一点? 问题答案: 这是另一个使用attrs。$ observe的指令实现: 请注意,插值的DOM属性值(即)始终计算为字符串,因此将原因与字符串而不是keyword进行比较。

  • 问题内容: 数据加载后是否可以通过控制器设置输入字段的焦点(在这种情况下,通过$ resource)? 通过ng-show隐藏输入,直到从API返回数据为止,但是我找不到将焦点设置在输入上的方法。我知道输入的ng- model名称,以及输入名称,这意味着我可以通过jQuery来做到这一点,但我宁愿使用AngularJS方式来做到这一点。 我在这里尝试了很多指令示例,但是它们似乎都集中在1.2 ng

  • 本文向大家介绍如何使用AngularJS和HTML5将焦点设置在列表中的文本输入上,包括了如何使用AngularJS和HTML5将焦点设置在列表中的文本输入上的使用技巧和注意事项,需要的朋友参考一下 若要将焦点放在列表中的文本输入上,请尝试以下代码: 以下是HTML:

  • 我有一个EditText-Field,并为它设置了一个OnFocusChangeListener。当它失去焦点时,将调用一个方法,该方法用数据库中的EditText检查EditText的值。如果方法的return-value为true,则显示一个toast并且焦点应该再次回到EditText上。焦点应该总是回到EditText上,键盘应该显示,直到方法的return-value为false。 ed