表单验证后的Javascript NaN值
Javascript NaN value after form validation
我有一个函数的以下部分,它将事件和交付总数相加:
// IF currentElement is radio AND currentElement is checked
if (currentElement.type == "radio" && currentElement.checked) {
// Parse into a number (as a float)
deliveryTotal = deliveryTotal + parseFloat(currentElement.title);
}
// IF currentElement is a checkbox AND currentElement is checked
else if (currentElement.type == "checkbox" && currentElement.checked) {
// Parse into a number (as a float)
eventTotal = eventTotal + parseFloat(currentElement.title);
}
}
// Assign total to input with "£" infront - to 2 decimal places
totalbox.value = "£" + (eventTotal + deliveryTotal).toFixed(2);
这似乎很好,直到我验证我的表单,例如,显示警报,然后它只返回值"£NaN",
我相信这与我功能的parseFloat
部分有关,有人能告诉我是什么导致了这个值吗。
您可以使用Number()而不是parseFloat()
如果您有一个空字符串,它将返回零。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number
parseFloat
将接受一些非数字字符的字符串,而不接受其他字符串。为了完全理解什么是可接受的,什么是不可接受的。请参阅此处获取有关方法parseFloat
的文档。
然而,根据我的经验,通常情况下,值并不是你期望的值。我的建议是在进入函数时检查值currentElement.title
、deliveryTotal
和eventTotal
,看看它们包含什么值。如果你仍然没有看到确凿的证据,请在浏览器控制台中一次一个地评估函数中计算出的所有内容,看看它会返回什么。
不过那只是我的10美分
相关文章:
- JavaScript NaN equvialence
- 为什么我在这个javaScript代码中使用NaN
- 使用running total时使用Javascript$NaN
- JavaScript:返回NaN(第2部分)
- 在JavaScript中,变量变为循环外部的NaN
- 为什么 NaN 在 Javascript 中出现用于简单减法
- JavaScript NaN with HTML
- javascript 在求和时返回 NaN
- 从 JavaScript 函数获取 NaN 尝试多次获取相同的数据
- 来自函数 Javascript 的 NaN 返回值 ||函数执行顺序
- 返回“[对象对象] NaN” - Javascript
- NaN JavaScript Function
- 在带有时间戳的日期之间计算时出现 NaN JavaScript 错误
- NaN Javascript 和 Jquery 尝试连接数字和字符串时出错
- 连接对象的值's属性返回NaN(Javascript)
- parseFloat返回NaN javascript编号
- 显示NaN Javascript/Jquery的总计
- 将HTML元素转换为返回NaN Javascript的Int
- 解析以检查是否NAN Javascript
- Total sum is NaN - Javascript