@eduardich

Сбор данных input checkbox?

Не могу понять, как собрать данные с чекбоксов.
Есть вот такой код. Из инпутов надо собрать инфу, какие из них нажаты. НО, чтобы сохранялись имена этих инпутов при передаче в php.
<label class="btn btn-secondary">
							    <input type="checkbox" name="business[internet]" autocomplete="off"> Интернет-проект
							  </label>
							  <label class="btn btn-secondary">
							    <input type="checkbox" name="business[restoran]" autocomplete="off"> Ресторан
							  </label>
							  <label class="btn btn-secondary">
							    <input type="checkbox" name="business[dosug]" autocomplete="off"> Досуг
							  </label>
							  <label class="btn btn-secondary">
							    <input type="checkbox" name="business[igry]" autocomplete="off"> Игры
							  </label>
							  <label class="btn btn-secondary">
							    <input type="checkbox" name="business[dohod]" autocomplete="off">Пассивный доход
							  </label>


На данный момент, приходят только значения "On" без ключа(имени инпута).
Данные формы собираю через serialize(). Может нужно отдельно для чекбоксов собирать?
Помогите разобраться, уже в php пробовал вытягивать ключ из массива, но безрезультатно.
  • Вопрос задан
  • 326 просмотров
Пригласить эксперта
Ответы на вопрос 3
irishmann
@irishmann
Научись пользоваться дебаггером
чекбокс это не радио, можно разные name указывать
Ответ написан
Комментировать
mosesfender
@mosesfender
Меланхолик, параноик, падал с коек
var res = [];
[].map.call(document.querySelectorAll('[name*="business"]'), function(_inp){
	if(_inp.checked){
		let name = _inp.name.match(/.*\[(.+)\]/);
		res.push(name[2]);
    }
});
console.log(res);
Ответ написан
Комментировать
@Yagumi
Можете еще через getAttribute('name') получить имена
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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