#javascript
#javascript
Вопрос:
Я работаю над небольшим упражнением, которое должно выводить все нечетные числа при нажатии кнопки. Ошибка отображается, когда вы не вводите число и т.д. Когда я помещаю число в диапазоне от 0 до 50, я получаю сообщение об ошибке «Не число». Может ли кто-нибудь помочь мне с этой небольшой проблемой?
Я не знаю, связана ли проблема с моим полем вывода в html, моими тегами или что-то не так с инструкцией if / else.
let inputGetal = document.getElementById("getalInput");
//inputNumber
let genereerButton = document.getElementById("genereerButton"); //generateButton
let outputVenster = document.getElementById("outputVenster");
//outputWindow
let getal = inputGetal.value;
let onevenGetallen = () => {
if(typeof getal == "number" amp;amp; (getal >= 0 || getal <= 50)) {`enter code here`
for (let i = 1; i < getal; i 2) {
outputVenster.value = i '<tab>';
}
} else {
outputVenster.value = "Geen goed getal" //not the right number
}
};
genereerButton.addEventListener("click", onevenGetallen);
Я хочу видеть все нечетные числа, начиная с 1, пока не будет достигнут входной номер.
Комментарии:
1.
inputGetal.value
возвращает строку.2. Есть ли способ, которым я могу получить целочисленное значение в этой переменной? Приведение ‘let’, например?
Ответ №1:
Вам нужно переместиться, чтобы получить число из входных данных внутри функции, иначе вы получите исходное значение, а не фактическое.
Вам нужно преобразовать строку в целое число, используя parseInt
с radix
10
.
Проверьте с помощью логического И amp;amp;
, потому что должны выполняться оба условия true
.
Наконец, вам нужно назначение сложения =
в final-expression
части for
инструкции.
let inputGetal = document.getElementById("getalInput"),
genereerButton = document.getElementById("genereerButton"),
outputVenster = document.getElementById("outputVenster"),
onevenGetallen = () => {
let getal = parseInt(inputGetal.value, 10); // get value, take integer number
if (getal >= 0 amp;amp; getal <= 50) { // logical AND amp;amp;
outputVenster.value = ''; // empty output
for (let i = 1; i <= getal; i = 2) { // comparison <=, addition assignment
outputVenster.value = i ' '; // take space as separator
}
} else {
outputVenster.value = "Geen goed getal";
}
};
genereerButton.addEventListener("click", onevenGetallen);
<input type="text" id="getalInput"> <input type="text" id="outputVenster"> <button id="genereerButton">go</button>
Комментарии:
1. Большое вам спасибо! Это мне очень помогло.