Учитывая форму в Angular, я пытаюсь поместить курсор на первую ошибку, когда пользователь нажимает сохранить. Я могу найти поле с ошибкой, позиционирование курсора кажется немного более неуловимым:
const pageControls = Object.keys(this.myForm.form.controls);
let first = false;
for (let i = 0; i < pageControls.length; i++) {
if (this.myForm.form.controls[pageControls[i]].invalid) {
first = true;
if (first) {
const x = document.getElementsByName(pageControls[i]);
console.log(x);
x[0].focus(); //does not work
}
}
}
Я видел другие посты, где люди объявляли ссылки на элементы для каждого поля формы: https://coderanch.com/t/675897/languages/programmatically-manage-focus-Angular-app
Это приведет к большому количеству шаблонного кода, и я пытаюсь сделать его как можно более универсальным.