Прямо сейчас я показываю вопрос и возможные ответы на него в модальном окне на моей странице (показано ниже). Кнопка «отправить ответ» отправит форму, но я не могу использовать ее в своей ситуации (я объясняю это в нижней части этого сообщения), поэтому, пожалуйста, не обращайте на нее внимания.
Я использую приведенный ниже код HTML & PHP, чтобы получить вопрос и ответы из моей базы данных.
<!-- The Modals -->
<div id="myModal" class="modal">
<!-- Modal content -->
<div class="modal-content">
<div class="modal-header">
<!-- display question as heading -->
<?php
while ( $row = $result->fetch_assoc() ) {
echo "<h3>" . $row[ "question" ] . "</h3>";
}
?>
<button id="close1" class="close">×</button>
</div>
<div class="modal-body">
<form action="#" method="post" id="quiz">
<!-- display answers as radio -->
<div>
<?php
while ($id = $choice_idResult1->fetch_assoc()) {
echo '<input type= "radio" name="question1_answers" id="question1_answers_A" value= "' . $id["choice_id"] . '"';
}
?>
<label for="question1_answers_A">
<?php while($row = $result2->fetch_assoc()) {echo $row["choice_text"];}
$answer1 = $row;
?>
</label>
</div> .....
Когда " При нажатии кнопки «Открыть модальное окно 2» приведенный ниже код JavaScript закрывает модальное окно и открывает следующий.
btn2.onclick = function() {
checkRadio('question1_answers_B');
modal.style.display = "none";
modal2.style.display = "block";
}
Как видите, я вызвал функцию с именем checkRadio
и передал ей id радиовхода, который является правильным ответом.
checkRadio
затем использует оператор if, чтобы проверить, проверено ли это радио, и если это вызывает другую функцию, которая увеличивает переменную tally
.
var tally = 0;
function checkRadio(id) {
if (document.getElementById(id).checked) {
addTally();
}
}
function addTally() {
tally++;
}
Затем у меня есть функция с именем showTally
, результат которой я хочу отображать в заголовке следующего модального окна (в целях тестирования). Однако в следующем модальном окне ничего не отображается, что бы я ни выбрал.
function showTally() {
document.getElementById("tally").innerHTML = tally;
}
И в заголовке мода:
<h3 id="tally"></h3>
На простом английском sh мне нужно иметь возможность определить, какой радиовход был выбран пользователем, чтобы я мог проверить, что это правильный ответ, и добавить к сумме, которая будет отображаться после последнего вопроса На самом деле я не могу опубликовать форму, так как она закроет модальное окно.
Если вам нужны дополнительные снимки экрана или информация, дайте мне знать.