#javascript
#javascript
Вопрос:
У меня возникли проблемы с функцией, которая сравнивает целые числа.
Я назначил входные данные и использовал метод parseInt, но метод сработал не так, как я ожидал. Я просмотрел разные решения, но безуспешно.
Это та часть кода, с которой у меня возникли проблемы:
<form>
<label>QUESTION 4 <br /></label>
<label for="q4">How long is the Pieterad, the most famous walking trail in Ashington?(In Kilometers)</label>
<input type="text" id="q4" placeholder="Enter your answer here." />
<button onclick="q4function()" type="button">Submit</button>
<p id="q4Answer"></p>
</form>
function q4Funtion() {
var a = parseInt(document.getElementById("q4").value, 10);
if (a == 498)
document.getElementById("q4Answer").innerHTML = "Great Success!";
else if (a != 498)
document.getElementById("q4Answer").innerHTML = "The answer was 498.";
}
Я вообще не получаю результата от этой функции. Я не уверен, что сделал неправильно.
Комментарии:
1. Что вы имеете в виду, «не работает»? Что происходит, и чего вы ожидали?
2. Проверьте консоль вашего браузера. Скорее всего, ваша форма отправляется, поэтому, возможно, добавьте
event.preventDefault();
в свою функцию3. Как вы отдельно проверили, что это была единственная функция без результата? и когда вы имеете в виду без результата, вы имеете в виду, что он выдает ответ ‘null’ или возвращает пустой?
4. если это одно, зачем снова проверять в ветке else, что вы ожидаете? if не будет 498, если вы уже туда попали 🙂
5. Я думаю, у вас просто опечатка — ваше имя функции
q4Funtion
, но вы вызываетеq4function
Ответ №1:
Это работает, если вы правильно пишете «Функция» 🙂 Также обратите внимание на обработчики событий, а не на метод onclick.
function q4Function() {
var a = parseInt(document.getElementById("q4").value, 10);
if (a == 498)
document.getElementById("q4Answer").innerHTML = "Great Success!";
else if (a != 498)
document.getElementById("q4Answer").innerHTML = "The answer was 498.";
}
Ответ №2:
Скорее всего, ваша форма отправлена, что означает, что ваш код JavaScript не выполняется. Добавление этого предотвращает это:
document.querySelector("form").addEventListener("submit", e => e.preventDefault());
Также убедитесь, что вы правильно пишете function
:
function q4Function() {...}