【发布时间】:2014-06-15 10:07:31
【问题描述】:
我刚开始使用AngularJS,我想知道这种方法可以在我提交表单时将页面滚动到第一个输入并出现错误。
这是使用 jQuery 的方法:
$('html, body').animate({
scrollTop: $("--- #ID OF THE FIRST INPUT WITH ERROR ---").offset().top
}, 2000);
如何在 Angular 中做到这一点?
HTML
<form class="form" novalidate>
<input type="text" class="nom-du-projet" ng-model="fields.nom" required />
<p ng-show="fields.nom.$invalid && !fields.nom.$pristine">The name is required.</p>
<input type="text" ng-model="fields.cible" />
...
<button type="submit" ng-click="submit(fields)">Add</button>
</form>
JS
$scope.submit = function(fields){
console.log(fields);
$http
.post('/xxxx', fields)
.success(function(response) {
// success
})
.error(function(response) {
// scroll to field error
});
}
【问题讨论】:
-
在 Angular 中没有什么特别之处可以做到这一点。除非你想设置“哈希”然后滚动到。 stackoverflow.com/questions/17284005/… 。大多数人只是按照你会做的同样的方式
window.scrollTo
标签: forms angularjs angularjs-scope