решил создать простенький тест на php, может кто подсказать какой ajax код надо написать чтобы при нажатии на кнопку страничка не перезагружалась. Вот что имею на данный момент :
<form action="test.php" method="post" class="ajax">
<h5> <b>1.</b> Jak ... na imię?</h5>
<input type="radio" name="radio" value="1"> masz <br>
<input type="radio" name="radio" value="2"> mam <br>
<input type="radio" name="radio" value="3"> mieć <br>
<h5> <b>2.</b> ... matka bardzo dobrze gotuje.</h5>
<input type="radio" name="radio2" value="1"> mój <br>
<input type="radio" name="radio2" value="2"> ją <br>
<input type="radio" name="radio2" value="3"> moja <br>
<input type="submit" id="submit">
</form>
<?php
error_reporting(0);
$right = 0;
$wrongt = 0;
if ($_POST[radio] == 1){$ot++;} else {$not++;}
if ($_POST[radio2] == 3){$ot++;} else {$not++;}
<p class = "right"> Правильных ответов: <?php echo $right; ?></p>
?>
<?php
$answ1 = filter_input(INPUT_POST, 'radio');
$answ2 = filter_input(INPUT_POST, 'radio2');
if ($answ1 !== null && $answ2 !== null) {
$right = 0;
$wrong = 0;
$answ1 == 1 ? $right ++ : $wrong ++;
$answ2 == 3 ? $right ++ : $wrong ++;
exit(json_encode(['right' => $right, 'wrong' => $wrong]));
}
?>
<div id="iq"></div>
<form action="test.php" method="post" id="govnokod">
<h5> <b>1.</b> Jak ... na imię?</h5>
<input type="radio" name="radio" value="1"> masz <br>
<input type="radio" name="radio" value="2"> mam <br>
<input type="radio" name="radio" value="3"> mieć <br>
<h5> <b>2.</b> ... matka bardzo dobrze gotuje.</h5>
<input type="radio" name="radio2" value="1"> mój <br>
<input type="radio" name="radio2" value="2"> ją <br>
<input type="radio" name="radio2" value="3"> moja <br>
<input type="submit" id="submit">
</form>
<script>
document.querySelector('#govnokod').addEventListener('submit', function(evt) {
evt.preventDefault();
function Success(e) {
if (req.readyState == 4) {
if (req.status == 200) {
var res = JSON.parse(e.currentTarget.response);
document.querySelector('#iq').innerText = 'Правильно: ' + res.right + ' неправильно ' + res.wrong;
}
}
}
var answ1 = document.querySelector('input[name=radio]:checked') === null ? 0 : document.querySelector('input[name=radio]:checked').value;
var answ2 = document.querySelector('input[name=radio2]:checked') === null ? 0 : document.querySelector('input[name=radio2]:checked').value;
var params = "radio=" + answ1 + "&radio2=" + answ2;
var req = new XMLHttpRequest();
req.open('POST', 'test.php', true);
req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
req.onreadystatechange = Success;
req.send(params);
})
</script>
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости