У меня есть практически рабочий опросник, но есть проблема.
Нужно сделать выделение правильных и неправильных ответов (чтобы зелёные показывали правильный ответ, красный неправильный).
В js я разбираюсь не очень.
Буду очень рад, если вы мне поможете!
const form = document.querySelector('#form')
form.addEventListener('submit', onSubmit)
function onSubmit (event) {
event.preventDefault()
let listCheckbox = document.querySelectorAll('.i-6')
listCheckbox = [...listCheckbox]
// Проверяем выбран ли хотябы один ответ
if (!listCheckbox.some(checkbox => checkbox.checked)) {
alert('Вы не выбрали ни одного ответа')
}
else{
form.addEventListener('submit', onSubmit)
alert('Вы подтверждаете действие?');
}
// Узнаем сколько всего правильных ответов
const rightAnswersCount = listCheckbox.filter(checkbox => Number(checkbox.value) === 1).length
// Узнаем сколько всего не правильных ответов
const wrongAnswerCount = listCheckbox.length - rightAnswersCount
// Узнаем количество правильных ответов
const rightAnswers = listCheckbox.filter(checkbox => Number(checkbox.value) === 1 && checkbox.checked).length
// Узнаем количество не правильных ответов
const wrongAnswer = listCheckbox.filter(checkbox => Number(checkbox.value) === 0 && checkbox.checked).length
// Уведомляем пользователя
console.log(`Вы ответили правильно на ${rightAnswers} из ${rightAnswersCount}`)
console.log(`Вы ответили не правильно на ${wrongAnswer} из ${wrongAnswerCount}`)
//Вывод ответа с процентами
console.log(`Процент правильных ответов: ${(rightAnswers / rightAnswersCount) * 100}`)
console.log(`Процент неправильных ответов: ${(wrongAnswer / wrongAnswerCount) * 100}`)
}
<form method="POST" action="#" id="form">
<section class="table_1">
<table class="iksweb">
<tbody>
<tr>
<td rowspan="3"><b>Культура<br>обслуживания</b>
<h3 class="the">Скорость:</h3>
<section class="conteiner">
<div class="checkbox">
<input type="checkbox" class="i-6" id="i6" value="1">
<label for="i6" tabindex="12">Выполнять стандарты по времени обслуживания</label>
</div>
<div class="checkbox">
<input type="checkbox" class="i-6" id="i7" value="0">
<label for="i7" tabindex="13">Время ожидания в очереди 120 секунд</label>
</div>
<div class="checkbox">
<input type="checkbox" class="i-6" id="checkbox_68" value="1">
<label for="checkbox_68" tabindex="14">Время ожидания в очереди 90 секунд</label>
</div>
<div class="checkbox">
<input type="checkbox" class="i-6" id="checkbox_69" value="1">
<label for="checkbox_69" tabindex="15">Время обслуживания 90 секунд</label>
</div>
<div class="checkbox">
<input type= "checkbox" class="i-6" id="checkbox_70" value="0">
<label for="checkbox_70" tabindex="16">Время обслуживания 120 секунд</label>
</div>
<div class="checkbox">
<input type="checkbox" class="i-6" id="checkbox_71" value="0">
<label for="checkbox_71" tabindex="17">Время обслуживания 60 секунд</label>
</div>
<div class="out-block out-6"></div>
</section>
</tr>
</tbody>
</table>
</section>
</form>