Итак, у меня есть этот объект:
function User (theName, theEmail) {
this.name = theName;
this.email = theEmail;
this.quizScores = [];
this.currentScore = 0;
}
Я создаю нового пользователя, такого как var user1 = new User (theName.value, theEmail.value);
, который находится внутри функции для прослушивателя событий, когда пользователь вводит свое имя и адрес электронной почты. Теперь есть вопросы и кнопка для следующего вопроса. Каждый раз, когда пользователь нажимает кнопку «Следующий вопрос», я хочу увеличить текущий рейтинг на единицу. Проблема в том, что он постоянно равен 0. Я делаю это так:
scoretag = document.createElement("p");
scoretag.innerHTML = user1.currentScore;
body.appendChild(scoretag);
Прослушиватель событий и основной цикл:
for (var i = 0; i < theChoices[question1.theChoices].length; i++) {
var arrayQ = document.createElement("p");
arrayQ.innerHTML = theChoices[question1.theChoices][i];
list.appendChild(arrayQ);
var radio = document.createElement("input");
radio.type = "radio";
listOptions.appendChild(radio);
dbtn.addEventListener("click", function() {
//list.removeChild(arrayQ);
//listOptions.removeChild
list.removeChild(list.firstChild);
list.removeChild(list.lastChild);
user1.currentScore = user1.currentScore+1;
scoretag = document.createElement("p");
scoretag.innerHTML = user1.currentScore;
body.appendChild(scoretag);
})
}
ОБНОВЛЕНИЕ: я поместил код для добавления дочернего элемента в элемент тела внутри цикла после увеличения оценки, но это приводит к тому, что многие числа печатаются на странице один за другим.
Но, как я уже сказал, когда я пытаюсь увеличить значение t на единицу при нажатии кнопки, на экране все равно отображается 0. Любая помощь?