$.ready(function {
$('.timeViewList input').on("blur", validateHrs);
});
function validateHrs(){
var e = parseFloat($(this).val());
陷入下一行。
if (e.isNumeric() && (0 < e < 24)) {...}
}
抛出一个类型对象,因为e是一个对象,并且不识别函数isNumeric()。如“未捕获的TypeError:对象18.37没有方法'isNumeric'
我知道parseFloat()不能处理$(this).val()。谁能告诉我为什么?
答案 0 :(得分:3)
问题是浮点数没有isNumeric
函数,这正是错误消息所说的。
试试这个:
if(!isNaN(e) ... )
此外,0 < e < 24
也不起作用。你需要写
if(!isNaN(e) && 0 < e && e < 24)
答案 1 :(得分:0)
isNumeric()是jQuery对象的一种方法。 parseFloat()是一个vanilla JavaScript函数。您不能指望标准JavaScript函数返回jQuery对象。特别是,这个返回一些NaN
。顺便说一下,isNaN()允许您测试e
变量是否不是数字。
BTW,现在所有体面的浏览器(和Internet Explorer)都提供了一个内置的JavaScript控制台,除了其他功能之外,它还允许您console.log()
变量。绝对没有必要猜测。