Button submit без перезагрузки

317
12 мая 2019, 06:10

решил создать простенький тест на 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"><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>
    ?>
Answer 1
<?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"><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>
READ ALSO
Что почитать или посмотреть, чтобы в совершенстве овладеть CMS Drupal и Bitrix? [закрыт]

Что почитать или посмотреть, чтобы в совершенстве овладеть CMS Drupal и Bitrix? [закрыт]

Подскажите пожалуйста литературу или подкасты, чтобы помимо умения выполнять абсолютно любые задачи на данных cms, ещё и уметь создавать шаблоны,...

176
Никак не отправляется запрос

Никак не отправляется запрос

Пересмотрел кучу видео, статей, делал всё как там, запрос не отправляется, никакой реакции от скриптаjQuery подключён, работает

149
Долгое выполнение скрипта PHP и fastcgi_read_timeout

Долгое выполнение скрипта PHP и fastcgi_read_timeout

Есть скрипт который может работать очень долго, более 1 часа, но из за fastcgi_read_timeout он тупо отрубается, и не может до конца выполнить работуКак...

153
Как вывести данные из БД, при определённом значении и временем, не позже чем 10 мин.?

Как вывести данные из БД, при определённом значении и временем, не позже чем 10 мин.?

Подскажите, как вывести данные из БД, при значении «1» в столбце «example», и временем, не позже чем 10 мин? То есть по истечении этого времени запись...

138