Javascript检查变量是否介于2个值+ else之间

时间:2017-07-11 10:44:41

标签: javascript

我需要这个简单问题的帮助。每当我激活下面的代码时,无论我输入什么,我总是从else得到结果。我想检查一天是否介于1和30之间,如果它是激活if函数内的任何内容。如果它不在1到30之间,我想运行else函数并显示错误消息。

var day;
    function changePage(){
        if(day < 30 && day > 1){
           day = document.getElementById("inputBox").value;
           console.log(day);
           window.location.href = "day-" + day + ".html";}
        else{
           alert("Invalid entry, must be between 1 and 30");}}

3 个答案:

答案 0 :(得分:2)

在你按下循环之前,你的日子不会被设定。您需要在函数外部或内部但在循环之前定义day

function changePage() {
    var day = document.getElementById("inputBox").value;
    if (day < 30 && day > 1) {
        console.log(day);
        window.location.href = "day-" + day + ".html";
    } else {
        alert("Invalid entry, must be between 1 and 30");
    }
}

答案 1 :(得分:0)

  

我总是从else

得到结果

是的,这是合乎逻辑的,因为代码中的dayundefined,因此以下if语句if(day < 30 && day > 1)始终为false,因此{ {1}}部分将始终到达。

在你的deaclartion初始化else变量,如下所示:

day

答案 2 :(得分:0)

是的,我理解,我在我的功能中定义了一天。我将它更改为if else函数之外,它工作正常。谢谢大家。