这是我在 stackoverflow 上的第一篇文章,我在以下代码中遇到错误,在 firefox 的检查元素/JS 控制台中没有显示错误,但由于某种原因计算后的输出显示未定义/NaN 错误。来自用户的输入在 Float 中被解析。
代码:
function costtoShip(){
// get input
var weight = parseFloat(document.getElementById("weight")).value ;
var msg;
var cost;
var subtotal;
// calculation
if ( weight >= 0.00 && weight <= 150.00 ) {
cost = 20.00;
}
else if ( weight >= 151.00 && weight <= 300.00 ) {
cost = 15.00;
}
else if ( weight >= 301.00 && weight <= 400.00 ) {
cost = 10.00;
}
subtotal = weight * cost ;
msg = "<div> Total Weight is " + weight + "</div>" ;
msg = msg + "<div> Subtotal is " + subtotal + "</div>" ;
// send output
document.getElementById("results").innerHTML = msg ;
}
最佳答案
var weight = parseFloat(document.getElementById("weight")).value;
这不是解析 float 的方法。您正在尝试对 double 调用 value
属性。将括号移出。
var weight = parseFloat(document.getElementById("weight").value);
我建议在您的代码周围使用 console.log(weight);
或其他值,以便您可以更轻松地查明这些问题。
关于javascript - 输出中出现未定义/NaN 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33177724/