【发布时间】:2016-07-24 11:00:34
【问题描述】:
我使用 Angular js 创建了一个表单,其中包含大约 7 个输入元素。当我单击提交时,我希望表单向上滚动到所需的第一个空白字段。但现在它没有正确指向留空的字段。有什么办法解决这个问题吗?
【问题讨论】:
-
养成发布小代码的习惯,以便我们修改它来回答您的问题。
标签: javascript angularjs scroll required
我使用 Angular js 创建了一个表单,其中包含大约 7 个输入元素。当我单击提交时,我希望表单向上滚动到所需的第一个空白字段。但现在它没有正确指向留空的字段。有什么办法解决这个问题吗?
【问题讨论】:
标签: javascript angularjs scroll required
在提交表单之前,您可以检查表单是否有效,并使用.focus() 关注该元素。
$scope.onSubmit = function(yourForm) {
if (!yourForm.$valid) {
angular.element("[name='" + yourForm.$name + "']").find('.ng-invalid:visible:first').focus();
return false;
}
};
方法 #2 - 你也可以使用 $anchorScroll 服务
查看文档here
$scope.onSubmit = function(yourForm) {
if (!yourForm.$valid) {
var id = angular.element("[name='" + yourForm.$name + "']").find('.ng-invalid:visible:first').data('id');
$location.hash(id);
$anchorScroll();
return false;
}
};
【讨论】: