MalekBV
@MalekBV

Как сабмитить форму сразу после загрузки страницы 1 раз?

<div class="col-3 filters">
    <form method="GET" class="filter-form">
        <section class="product-filter__categories">
            <div class="filters__field">
                 <input type="checkbox" id="...category" name="category">
                 <input type="checkbox" id="...category" name="category">
                 <input type="checkbox" id="...category" name="category">
                 <input type="checkbox" id="...category" name="category">
            </div>


У меня много инпутов, и мне нужно отправить форму фильтра после того, как пользователь открыл (впервые) страницу.

Я это сделал так:
document.onload = function() {
    form.submit();
}


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

Чекбоксы, которые выбрал пользователь, сохраняются в локал сторадж. Когда пользователь открывает форму фильтра, мне нужно отправить форму для запроса GET, например localhost: 8000/filter?сategory=1&category=3&category=5

Что в этом случае можно предпринять, чтобы только 1 раз сабмитить форму?
  • Вопрос задан
  • 214 просмотров
Пригласить эксперта
Ответы на вопрос 2
@dataWave
Может быть сохранить в localStorage флаг true/false и по нему проверять была ли форма уже засабмичена?
Ответ написан
Комментировать
IonDen
@IonDen
JavaScript developer. IonDen.com
Сама по себе идея отправки формы после загрузки страницы - порочна.
Не делайте так.

Страница должна грузится 1 раз. Если вам не хватает каких-то данных на странице - вы должны сделать после асинхронный запрос аяксом и дорисовать изменения. Но никогда не отправлять форму за пользователя!
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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