我写了一个自定义指令来验证我的表单字段。当满足某些标准(即脏和有效)时,我想将焦点自动设置到下一个输入元素。这是我的用户的要求,以便他们可以最有效地移动表单。AngularJS:成功验证后移动到下一个表单输入元素
简化指令如下:
directive('custom', ['$parse', function($parse) {
return {
restrict: 'A',
require: ['ngModel', '^ngController'],
link: function(scope, element, attrs, ctrls) {
var model=ctrls[0], form=ctrls[1];
scope.next = function(){
return model.$valid
}
scope.$watch(scope.next, function(newValue, oldValue){
if (newValue && model.$dirty){
???
}
})
现在我的问题是:我如何识别 - 通过tabindex属性 下一个输入元素(这是下一个兄弟)或可能 - 和重点它不使用jquery它 ?
对我来说,目前还不清楚,如何从没有Jquery的可用“范围”或“元素”属性中获取下一个输入元素;而JQlite不具备“重点”方法。基本上,我需要一个替代工作?在我的代码中。
任何帮助,高度赞赏。由于 克林斯曼
也许,下面可能会有所帮助:http://stackoverflow.com/questions/18086865/angularjs-move-focus-to-next-control-on-enter –