Как отключить автоматическую прокрутку вверх страницы при отправке формы?

  • 23 августа 2023 г. 17:27
Ответы на вопрос 1
Чтобы отключить автоматическую прокрутку вверх страницы при отправке формы, можно использовать JavaScript.

В HTML коде страницы, где находится форма, можно добавить следующий JavaScript код:

```javascript
<script>
  document.addEventListener('DOMContentLoaded', function() {
    var form = document.querySelector('#форма'); // здесь нужно указать селектор вашей формы, например форму с id="форма"
    form.addEventListener('submit', function(e) {
      e.preventDefault(); // отменяем стандартное действие отправки формы
      
      // опционально, можно добавить дополнительный код для валидации формы
      // если форма прошла валидацию, можно продолжить
  
      // сохраняем текущую позицию прокрутки страницы
      var scrollTop = window.pageYOffset || document.documentElement.scrollTop;
  
      // отправляем форму асинхронно
      // например, с помощью AJAX-запроса
      // здесь нужно добавить код для отправки формы, например вызов функции sendForm()
      sendForm();
  
      // после отправки формы, восстанавливаем позицию прокрутки
      window.scrollTo(0, scrollTop);
    });
  });
</script>
```

Обратите внимание на комментарии в коде. Вам нужно заменить `#форма` на селектор вашей формы. Кроме того, если у вас уже есть код для отправки формы, нужно вставить его вместо `sendForm()` в коде выше.

Этот код будет перехватывать отправку формы, сохранять текущую позицию прокрутки страницы, отправлять форму и после этого восстанавливать позицию прокрутки. Это поможет избежать автоматической прокрутки вверх страницы при отправке формы.
Похожие вопросы