输出中出现未定义/NaN 错误
undefined / NaN error in output
这是我在 Whosebug 上的第一个 post,我在以下代码中遇到错误,在 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;
这不是parseFloat的方法。您正在尝试调用 value
属性 加倍。将括号移出。
var weight = parseFloat(document.getElementById("weight").value);
我建议在您的代码周围使用 console.log(weight);
或其他值,以便您可以更轻松地查明这些问题。
parseFloat(document.getElementById("weight")).value
应该是
parseFloat(document.getElementById("weight").value)
通过练习,您会培养对此类事物的敏锐洞察力。在那之前,在你的代码中加入 alert() 语句来深入研究这类事情。记得在完成后将它们取出。请记住,对 NaN 进行数学计算不是错误,因此没有错误消息。
您过早地关闭了代码第一行的括号。大概应该是这样的:
var weight = parseFloat(document.getElementById("weight").value);
Javascript 无法将 DOM 元素解析为浮动。 ;)
如果 weight
值不满足任何指定条件,则 cost
变量将不会被初始化,任何使用 undefined
的计算将导致 undefined
。
这是我在 Whosebug 上的第一个 post,我在以下代码中遇到错误,在 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;
这不是parseFloat的方法。您正在尝试调用 value
属性 加倍。将括号移出。
var weight = parseFloat(document.getElementById("weight").value);
我建议在您的代码周围使用 console.log(weight);
或其他值,以便您可以更轻松地查明这些问题。
parseFloat(document.getElementById("weight")).value
应该是
parseFloat(document.getElementById("weight").value)
通过练习,您会培养对此类事物的敏锐洞察力。在那之前,在你的代码中加入 alert() 语句来深入研究这类事情。记得在完成后将它们取出。请记住,对 NaN 进行数学计算不是错误,因此没有错误消息。
您过早地关闭了代码第一行的括号。大概应该是这样的:
var weight = parseFloat(document.getElementById("weight").value);
Javascript 无法将 DOM 元素解析为浮动。 ;)
如果 weight
值不满足任何指定条件,则 cost
变量将不会被初始化,任何使用 undefined
的计算将导致 undefined
。