表单验证后的 JavaScript NaN 值

标签 javascript

我有一个函数的以下部分,它将事件和交付总数添加在一起:

    // 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 NaN 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23248424/

相关文章:

javascript - 为什么我的架构不在 Mongoose 数组中添加默认值?

javascript - 无法将 sails-auth 库集成到 sails 项目中

javascript - jQuery:根据元素可见性显示/隐藏警报

javascript - 当页面作为 Web 独立应用程序时,错误的 webkit-tap-highlight-color 行为

javascript - 折叠菜单不适用于 anchor 链接

javascript - 如何从数组中获取值并将其作为类添加到 html 项目中

javascript - 无法使用 javascript 从 html 中获取我的 id 来给它们提供样式

JavaScript 在 codeigniter 中不起作用?

javascript - Ruby on Rails : Make Float Value to be limited to 5 decimal places

JavaScript 枚举对象 - 使用字符串或数字更快?