parseFloat on $(this).val() 返回一个对象
parseFloat on $(this).val() returns an object
$.ready(function {
$('.timeViewList input').on("blur", validateHrs);
});
function validateHrs(){
var e = parseFloat($(this).val());
卡在下一行。
if (e.isNumeric() && (0 < e < 24)) {...}
}
它抛出一个类型对象,因为 e 是一个对象,并且无法识别函数 isNumeric((。如"未捕获的类型错误:对象 18.37 没有方法'isNumeric'
我知道parseFloat((不适用于$(this(.val((。谁能告诉我为什么?
问题是浮点数没有isNumeric
函数,这正是错误消息所说的。
试试这个:
if(!isNaN(e) ... )
此外,0 < e < 24
也不起作用。你需要写
if(!isNaN(e) && 0 < e && e < 24)
isNumeric((是jQuery对象的一种方法。 parseFloat(( 是一个普通的 JavaScript 函数。你不能指望一个标准的JavaScript函数返回一个jQuery对象。特别是这个,返回许多NaN
。顺便说一下,isNaN(( 允许您测试您的e
变量是否不是数字。
顺便说一句,现在所有像样的浏览器(和Internet Explorer(都提供了一个内置的JavaScript控制台,除其他功能外,它还允许您console.log()
变量。绝对没有必要猜测。
相关文章:
- .val()不返回输入文本
- .val()返回未定义的.text返回随机代码
- jQuery.val()未返回预期值
- jQuery val() 返回一个在 select/option 元素上带有 IE8 的数组
- jquery.val()未返回正确的值
- iPhone iOS上的val()未返回textarea值
- $(this).val() 返回不正确的值 IE8
- select.val 返回数组中的未定义
- 当字段为空时,val() 返回占位符值,而不是 IE8,9 中的实际值.下面显示的
- 单选按钮 .val() 返回不为空的值,即使未选择任何单选按钮
- 在 jQuery 中使用 val() 返回数组的特定索引
- $('#textboxId').val() 返回旧值(浏览器缓存问题)
- JQuery val()、text() 和 html() 都返回一个空字符串
- 在返回 undefined 的元素上调用 .val(date_select
- 使用 $('#id').val() 不会返回下拉列表的选定值
- 接受 (#id).val() 的 JavaScript 函数返回错误的值
- Javascript's.value和jquery's.val()函数返回错误的值..但仅在移动设备上
- $("#id").val()返回dojo的选项文本.filteringselect对象
- 通过val返回错误的值
- 为什么val()返回undefined ?