#javascript #html
Вопрос:
Я хотел провести тест. Я думал, что смогу сделать var, и всякий раз, когда нажимается правильный ответ, он становится равным 1, и когда вы затем нажимаете кнопку, отображается правильный ответ. Проблема в том, что, что бы я ни делал, это не работает.
var antwort = {
antwort = 0,
test: function() {
if (antwort === 0) {
document.getElementById("results").innerHTML = "That's right!";
} else {
document.getElementById("results").innerHTML = "That's wrong!";
}
},
antwort: function() {
antwort = 1
},
};
<input type="radio" name="q1" class="q">a<br>
<input type="radio" name="q1" class="q">b<br>
<input type="radio" name="q1" class="q" onclick="antwort()">c<br>
<input type="radio" name="q1" class="q">d<br>
<button id="submit" onclick="test()">Show Results</button>
<div id="results"></div>
Комментарии:
1.
=
это задание, а не сравнение … возьмите==
или лучше===
вместо этого.2. developer.mozilla.org/en-US/docs/Web/JavaScript/Guide
3. developer.mozilla.org/de/docs/Web/JavaScript/…
4. Поэтому я попытался использовать == и ===, но это все равно не работает. Ошибка «Неперехваченная синтаксическая ошибка: отсутствует : после идентификатора свойства» У кого-нибудь есть идея, почему?
5. Вы указали это в заявлении if?
Ответ №1:
Тебе нужно
- чтобы выбрать другое имя для флага и функции,
- для использования функций из объекта,
- чтобы лучше использовать логическое значение в качестве флага (что облегчает сравнение) и
- для использования
this
для адресации свойств одного и того же объекта.
Внутри функции вы можете использовать условный (троичный) оператор ?:
для назначения правильного сообщения.
var antwort = {
antwort: false,
test: function () {
document.getElementById("results").innerHTML = this.antwort
? "That's right!"
: "That's wrong!";
},
richtigeAntwort: function () {
this.antwort = true;
}
};
<input type="radio" name="q1" class="q">a<br>
<input type="radio" name="q1" class="q">b<br>
<input type="radio" name="q1" class="q" onclick="antwort.richtigeAntwort()">c<br>
<input type="radio" name="q1" class="q">d<br>
<button id="submit" onclick="antwort.test()">Show Results</button>
<div id="results"></div>
Ответ №2:
Используйте ===
или ==
для сравнения. Я имею в виду if (antwort === 0)
или if (antwort == 0)
. Спасибо.
Комментарии:
1. к сожалению, это все еще не работает. Там написано «Неперехваченная синтаксическая ошибка: отсутствует : после идентификатора свойства».