我具有函数的以下部分,该部分将事件总数和交付总数相加:
// 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
关于javascript - 表单验证后的Javascript NaN值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23248424/