调试帮助(持续显示 NaN)

Debug help (keeps showing NaN)

本文关键字:显示 NaN 帮助 调试      更新时间:2023-09-26

请帮我调试我的代码:

<!DOCTYPE HTML>
<html lang="en-us">
<head>
  <meta charset="utf-8">
  <title> Miles to Kilometers Conveter</title>
  <script type="text/javascript">
/* Defining Table: Program to convert miles to kilometers.
 * Input: Miles
 * Processing: How many kilometers in a amount of miles inputed
 * Output: output total kilometers
 */
     function milesToKilo(){
         var miles= getElementByID=("milesinput");
         var kilo=1.60934;
         var k= parseFloat(kilo);
         var total= miles*k;
        document.getElementById('outputDiv').innerHTML = total;
    }
  </script>
</head>
<body>
  <h2>Miles to Kilometers Converter</h2>
  How many Miles?<input type="text" id="milesinput">
  <button type="button" onclick="milesToKilo()">Convert</button>
  <div id='outputDiv'></div>
</body>
</html>

这是一个解决方案,您需要获取元素的值并从中解析一个 int。

http://plnkr.co/edit/NOYYKx0bYqJ2QJ21prUc?p=preview

function milesToKilo(){ 
  var miles = parseInt(document.getElementById("milesinput").value); 
  var kilo =1.60934; 
  var k = parseFloat(kilo); 
  var total= miles*k; 
  document.getElementById('outputDiv').innerHTML = total; 
}

var miles = getElementById=("milesinput")应该var miles = getElementById("milesinput"):注意getElementById(之间缺乏=。除此之外...

miles被分配了 getElementById("milesinput") 的值,这是一个 HTML element——这是一种特殊的变量 JavaScript,而不是number

此类型的element具有 value 属性。您可以使用 miles.value ,但它是一种string类型。您需要将其转换为如下所示的数字:

var total = parseFloat(miles.value) * k