Событие Onclick в JS показывает результаты за секунду до автоматического сброса формы - PullRequest
0 голосов
/ 30 апреля 2018

Это простая викторина / вопросник, которая будет отображать результаты теста при отправке. Он показывает результаты, но только за полсекунды до сброса страницы. Я также хотел бы, чтобы на странице отображалось предупреждение, если пользователь говорит, что ему меньше 18 лет, когда отправляется тест; это не помешает им увидеть ответы, а просто даст им сообщение.

    function checkAge() {
    if(age<18) {
        alert("Always make sure you have adult supervision while caring for and handling any venomous arachnid.");
    } }

function generateAnswers() {

var choice1score = 0;
var choice2score = 0;
var choice3score = 0;
var choice4score = 0;
}

var chosenAnswers = document.getElementsByTagName('result');

for (i=0; i<chosenAnswers.length; i++) {

    if (chosenAnswers[i].checked) {
  // add 1 to that choice's score
    if (chosenAnswers[i].value == 'choice1') {
    choice1score = choice1score + 1;
    }
      if (chosenAnswers[i].value == 'choice2') {
    choice2score = choice2score + 1;
    }
    if (chosenAnswers[i].value == 'choice3') {
    choice3score = choice3score + 1;
    }
    if (chosenAnswers[i].value == 'choice4') {
    choice4score = choice4score + 1;
    }

    }
}

var maxscore = Math.max(choice1score,choice2score,choice3score,choice4score);

var resultBox = document.getElementById('result');
    if (choice1score == maxscore) { 
    resultBox.innerHTML = "Asian Forest Scorpion"
    }
    if (choice2score == maxscore) { 
    resultBox.innerHTML = "Deathstalker Scorpion"
    }
    if (choice3score == maxscore) { 
    resultBox.innerHTML = "Desert Hairy Scorpion"
    }
    if (choice4score == maxscore) { 
    resultBox.innerHTML = "Emperor Scorpion"
}

}

Это где я положил код: https://codepen.io/cryceks/pen/vjgzOZ

1 Ответ

0 голосов
/ 30 апреля 2018

Использование:

event.preventDefault();

Это предотвращает перезагрузку веб-страницы и, следовательно, очищает данные формы

...