Доброго времени суток !
Есть форма в которой есть чекбокс, суть работы формы проста, она отправляет значение чекбокса в базу данных.
Состояние чекбокса меняет js скрипт, который при нажатии меняет класс чекбокса на checked и изменяет значение в input.
JS Код:
function superCheckbox(event, scope) {
document.getElementById('tagsOn').checked = true
if (event.target.nodeName == 'INPUT') return
if (scope.classList.contains('Checkbox--checked')) {
scope.classList.remove('Checkbox--checked')
document.getElementById('tagsOn').value = '0'
} else {
scope.classList.add('Checkbox--checked')
document.getElementById('tagsOn').value = '1'
}
}
Моя реализация отображения чекбокса:
<?php if ($view_tagsOn['tagsOn'] == false): ?>
<label onclick=" superCheckbox(event, this) " class="Checkbox ">
<?php else: ?>
<label onclick=" superCheckbox(event, this) " class="Checkbox Checkbox--checked ">
<?php endif; ?>
<span class="circle">
<span class="in-circle"></span>
</span>
<input type="checkbox" id="tagsOn" name="tagsOn" value=" <?php echo $view_tagsOn['tagsOn']; ?> ">
<div class="Input__label">Включены/Отключены</div>
</label>
Но у неё есть баг, если отправить форму через кнопку не трогая чекбокс, то состояние чекбокса и значение в БД поменяются произвольно.
Вопрос:
Как правильно реализовать отображение чекбокса в форме (данные берутся из БД) ?
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости