@Sandwich21

Передача значений из checkbox?

У меня есть несколько чекбоксов на странице,
<input type="checkbox" name="person[]">
<input type="checkbox" name="person[]">

Я могу заполнить их находясь на странице. Но при обновлении страницы пометки естественно слетают.
Я хотел что бы после того как я заполнил все чекбоксы данные запоминались. Но проблема в том что надо просто ткнуть в несколько чекбоксов и что бы при перезагрузке эти чекбоксы остались помеченными и где-то сохранились данные о том какие именно чекбоксы я пометил. Я пробовал передавать их в массив POST, но для этого нужно дореализовать форму и кнопку submit которую надо будет дополнительно нажимать, а мне надо ткнуть в чекбоксы -> обновить страницу -> получить номера этих чекбоксов.
Я понимаю что тут взаимодействие JS и PHP, но так и не понял как это реализовать
  • Вопрос задан
  • 507 просмотров
Решения вопроса 1
ArsenyMatytsyn
@ArsenyMatytsyn Куратор тега JavaScript
Руководитель frontend направления, предприниматель
1. Если под перезагрузкой ты имеешь в виду просто перезагрузку, а не отправленную форму → используй sessionStorage. Это просто JS.
2. Если ты хочешь, чтобы после отправки формы, ее валидации и обработке тебе приходили данные — тебе необходимо на стороне сервера иметь хранилище этих данных. Обычно в этой роли выступают БД с пользователями, привязками и т.д., а тут уже отличным решением будет использовать фреймворк на ЯП, в котором будет либа форм, с помощью которых ты при сохранении данных в модели при загрузке этой формы снова (скажем редактирования чего-либо), ты получишь prepopulated form.
3. Если же ты хочешь гонять форму без каких-либо проверок, просто передавая данные в POST\GET, с сабмитом формы ведущий туда же, то тебе надо сформировать генерацию документа посредством ЯП, который разберет запрос и сможет сделать банально так:
<input type="checkbox" checked="<?= $field[3] != true ?: 'checked' ?>">...

либо разбирать запрос JS и уже раздавать значения в загруженной странице.

Иными словами, все зависит от конечной цели.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
scottparker
@scottparker
для того что бы чекбоксы не слетели, м
можно использовать технологию ajax, которая выполнит запрос (отправит данные) без перезагрузки страницы
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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