Поскольку вы пометили как PHP, так и JavaScript, я предоставлю решение для обоих языков. Я начну с JavaScript:
let correct = 0;
function submitAnswer() {
if (document.getElementById("q3answer1").checked == false &&
document.getElementById("q3answer2").checked == true &&
document.getElementById("q3answer3").checked == true)
{
correct++;
alert("Correct!");
}
}
<label>What was Mosaic capable of displaying together?</label>
<input type="checkbox" name="question3" id="q3answer1" value="answer1" checked="checked" />Videos
<input type="checkbox" name="question3" id="q3answer2" value="answer2" />Text
<input type="checkbox" name="question3" id="q3answer3" value="answer3" />Images
<button onclick="submitAnswer()">Submit</button>
Теперь для PHP. Во-первых, поскольку каждый флажок имеет один и тот же атрибут name
, вы должны назначить атрибут name
как массив. Далее, все, что вам нужно сделать, это посмотреть, отмечены ли флажки, чтобы увидеть, установлен ли запрос POST каждого флажка, убедившись, что индексы 1 и 2 проверены, так как они будут вторым и третьим флажками, а также убедиться, что первыйфлажок не установлен. Следующий код работал для меня на http://phpfiddle.org:
<form method="post">
<label>What was Mosaic capable of displaying together?</label>
<input type="checkbox" name="question3[0]" id="q3answer1" value="answer1" checked="checked" />Videos
<input type="checkbox" name="question3[1]" id="q3answer2" value="answer2" />Text
<input type="checkbox" name="question3[2]" id="q3answer3" value="answer3" />Images
<button name="submitBtn">Submit</button>
</form>
<?php
$correct = 0;
if (isset($_POST['submitBtn']))
{
$checkedBoxes = $_POST['question3'];
if (!empty($checkedBoxes))
{
if (!isset($checkedBoxes[0]) && isset($checkedBoxes[1]) && isset($checkedBoxes[2]))
{
$correct++;
echo "<h3>Correct!</h3>";
}
}
else
{
echo "<h3>Please select a checkbox.</h3>";
}
}
?>