@mletov

Как очищать форму на Angular при нажатии кнопки «Назад»?

Пожалуйста, подскажите:

Есть форма. Если пользователь заполнил какие-то из ее полей, но не стал отправлять, а перешел на другую страницу по ссылке, а потом нажал кнопку "Назад", то нужно чтобы форма была пустой.

Проблема вроде бы известная, на SO находил обсуждения.

Что пробовал:

1) autocomplete="off" как на теге form, так и на отдельных полях. Почему-то отлично срабатывает на локальной машине на localhost:4200, но не работает на внешнем сервере после публикации.

2) Использование ngOninit и ngOnDestroy из этого примера
https://stackoverflow.com/questions/42388204/ngoni...

не работает если внешняя ссылка, по которой осуществляется уход со страницы, указана напрямую
<a href="/login"">Войти</a>, но работает если переход сделан через вызов рутинга после onclick <a href="#" (click)="goToLogin()">Войти</a>. Это тоже так себе решение, вешать обработчики на ссылки вместо нормального href.

Второе решение, которое заработало - вешать на ссылку очистку формы перед переходом.
Но это тоже костыль, ссылок может быть много.
  • Вопрос задан
  • 44 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы