我具有函数的以下部分,该部分将事件总数和交付总数相加:

    // 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/

10-11 13:59