не получается правильный вывод в простом коде

#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. Большое вам спасибо! Это мне очень помогло.