如果包含字符串,则重定向knockout js可观察

我在我的html中有一个输入字段,它基本上把数量发送给一个observable,然后根据金额重定向到不同的页面,但是我想确保即使没有在“字符串值”中写入数量和类型的人应该仍然能够重定向,但我不知道如何完成。

HTML代码

<input id="amount"  type="text" data-bind="value : amount" />
<button class="btn button2" type="submit"  data-bind=" valueUpdate:'afterkeydown' , click: $root.borrow_first_pageview" ></button>

我不想在HTML中写入type = number,因为我想知道它在JS中的检查方式。

这里是使用knockout.js的其余代码

self.borrow_first_pageview = function () {
        if(self.amount()){
            window.location.href = BASEURL + "index.php/moneyexchange/borrow_first_page/" + self.amount(); 
        }else if(typeof self.amount() == 'string'){
            window.location.href = BASEURL + "index.php/moneyexchange/borrow_first_page/" + 2500;
        }else {
             window.location.href = BASEURL + "index.php/moneyexchange/borrow_first_page/" + 2500;
        }

    };

有没有办法检查self.amount()是否是String,然后重定向用户。 需要帮忙。


所以我们可以扭转这个问题,看看这个数字是否是一个数字,然后采取相应的行动:

var value = self.amount();
if((+value == value) && !isNaN(+value)){
    //Yey we have a valid number.
}

这可能是我发现的一个松散的相等运算符的少数有效用法之一(它会防止null和“”被传入)。 它使用一元加运算符加上一点魔法,这是检查一个值是否是数字的一个很好的简短方法。

如果你喜欢,你可以把它放到一个函数中,比如'IsNumber':

function isNumber(value){
    //loose equality operator used to guard against nulls, undefined and empty string
    return ((+value == value) && !isNaN(+value));
}
链接地址: http://www.djcxy.com/p/94989.html

上一篇: redirect knockout js observable if containing string

下一篇: javascript function error while adding blank functions