用简单的代码无法得到正确的输出

时间:2019-03-28 19:28:24

标签: javascript

我正在做一个小练习,当单击一个按钮时,它应该打印所有的奇数。当您不填写数字等时显示错误。当我在0到50之间输入数字时,我会收到错误消息,提示“不是数字”。有人可以帮我解决这个小问题吗?

我不知道问题出在我的HTML输出框,我的标签还是if / else语句出问题。

...
$searchModel   = new LojaFornecedorSearch();
...
foreach($queryFornecedor as $fornecedor){
         $colTemp = array([
            'attribute' => 'forn'.$fornecedor->id,
            'label'     => 'forn'.$fornecedor->id,
            'value'     => function($model)use($fornecedor)... <- dynamic columns array to be inserted in gridView

我想查看从1开始的所有奇数,直到达到输入数字为止。

1 个答案:

答案 0 :(得分:1)

您需要先从函数内部的输入中获取数字,否则您将获取原始值,而不是实际值。

您需要使用parseInt radix 10的{​​{3}}将字符串转换为整数。

使用logical AND &&进行支票,因为两个条件都必须为true

最后,在addition assignment += final-expression 部分中需要一个for statement

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 && getal <= 50) {            // logical AND &&
            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>