Javascript 即使使用parseInt,我也无法从输入元素中获取数值

Javascript 即使使用parseInt,我也无法从输入元素中获取数值,javascript,input,parseint,Javascript,Input,Parseint,我正在做一个速度计算器,你输入数字,你就可以得到一个速度。 这是代码 <html> <head><title>speed</title></head> <body> <font face="arial"> <h1>Speed Calculator</h1> <form> distance: <input type="text" size="3" id="distance"

我正在做一个速度计算器,你输入数字,你就可以得到一个速度。 这是代码

<html>
<head><title>speed</title></head>
<body>
<font face="arial">
<h1>Speed Calculator</h1>
<form>
distance: <input type="text" size="3" id="distance">
</form>
time: <input type="text" size="3" id="hours"> Hours
<pre>
<pre>
<input type="button" value="Speed" id="button">
<script>
var dist = parseInt(document.getElementById("distance").value, 10);
var hours = parseInt(document.getElementById("hours").value, 10);
var speed = parseInt(dist, 10) + parseInt(hours, 10);
var button = document.getElementById("button");
button.onclick = function () {
    alert("the speed you were traveling is " + speed + "mph")
}
</script>
</font>
<body>
<html>

速度
速度计算器
距离:
时间:小时
var dist=parseInt(document.getElementById(“距离”).value,10);
var hours=parseInt(document.getElementById(“hours”).value,10);
变量速度=parseInt(距离,10)+parseInt(小时,10);
var button=document.getElementById(“按钮”);
button.onclick=函数(){
警报(“您行驶的速度为“+速度+”英里/小时”)
}
我输入数字,但它会返回“你当时的行驶速度是每小时100英里”。
有没有办法解决这个问题?

这将在页面加载且表单字段仍然为空时检索表单字段的值。您需要在
按钮内设置这些变量。请改为单击
函数,以便它们获得按下按钮时字段的值


您只需
parseInt
一次值。

这将在页面加载且表单字段仍然为空时检索表单字段的值。您需要在
按钮内设置这些变量。请改为单击
函数,以便它们获得按下按钮时字段的值


您只需要
parseInt
一次值。

因为该代码在页面加载时运行,而不是在输入值之后运行;因此元素中没有值,这意味着
parseInt()
不能返回数字,因此
NaN
。顺便提一下,
元素早就被弃用和淘汰了;请停止使用它(并可能更新您正在学习的参考资料)。您只需
parseInt
distance和
hours
值,因为代码在页面加载时运行,而不是在输入值后运行;因此元素中没有值,这意味着
parseInt()
不能返回数字,因此
NaN
。顺便提一下,
元素早就被弃用和淘汰了;请停止使用它(并可能更新您正在学习的参考资料)。您只需一次
parseInt
distance和
hours