微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试在if陈述中的输入字段中使用数字时获取NaN

如何解决尝试在if陈述中的输入字段中使用数字时获取NaN

我的部分反思有问题。我正在尝试获取表格单元格,以显示需要充电之前还剩下多少英里。

我有一个输入单元格,用户可以在其中输入剩余的英里数(50),然后进行计算(50-(10%buffer,25)= 25并显示在它旁边的单元格上。

我已经遍历了这里的问题,我可以找到并尝试其他人尝试过的方法,但是现在我真的处于死胡同。

JSfiddle在这里https://jsfiddle.net/Coxy/gr5bcnsq/

代码

var car_1_mtnc = document.getElementById('car-1-mtnc');
$(".confirm").click(function() {
var a =  parseInt(document.getElementById('car-1-cmra').value,10);
var miles = a - 25;  

if ( a != Number ) {
    car_1_mtnc.textContent = "Please enter the miles left";
} else {
    car_1_mtnc.textContent = miles;
}
});

HTML

                                    <td><span id="car-1-cmra" class="answer" type="number"></span><input id="car-1-cmr" class="cmr" type="text" value="" placeholder="Enter Miles Left"></input></td>
                                    <td id="car-1-mtnc" class="mtnc"></td>

任何指针将不胜感激,谢谢您的宝贵时间。

解决方法

您的代码有2个问题。

首先是您正在使用{p>从.value获得#car-1-crma

document.getElementById('car-1-cmra').value

但是这是换出span,所以没有.value-您可以在跨度上使用.textContent或使用(现在)隐藏的输入

document.getElementById('car-1-cmr').value
document.getElementById('car-1-cmra').textContent
$("#car-1-cmra").text()

第二个是您正在使用

if (a != Number)

注释中提到的要检查输入是否为数字,请使用

if (isNaN(a))

进行这两项更改可以解决里程数计算的麻烦:https://jsfiddle.net/4m8pa9dh(输入值)和https://jsfiddle.net/4m8pa9dh/1/(跨度textContent)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。