我想制作一个网页,有两个文本框,一个摄氏和华氏盒子。在它们之间,有一个转换按钮,可将摄氏温度转换成华氏温度,将华氏温度转换为摄氏温度。如果在任何一个框中都有字母,我想取消转换,并弹出一个提示,提示“只有数字好用!”到目前为止,我还没有想出如何获得警报,并且当我在摄氏度框中键入数字时,它总是在同一个框中表示数字-18。华氏很好。摄氏和华氏转换器 - JavaScript
HTML:
<html>
<head>
<title>Temparature Converter</title>
<script type="text/javascript" src="tempconversion.js"></script>
</head>
<body>
Celsius: <input id="c" onkeyup="convert('C')">
<button type="button" id="convert" onclick="convertTemp()">Convert</button>
Fahrenheit: <input id="f" onkeyup="convert('F')">
</body>
</html>
的JavaScript:
function convertTemp(degree) {
if (degree == "C") {
F = document.getElementById("c").value * 9/5 + 32;
document.getElementById("f").value = Math.round(F);
} else {
C = (document.getElementById("f").value -32) * 5/9;
document.getElementById("c").value = Math.round(C);
}
}
注:我从W3Schools的一些代码,所以我认为的onkeyup转换是有点好笑。如果可能的话,请通知我如何改变以及JavaScript。
从HTML输入中获得的值是'string'类型,所以你正在用字符串进行数学计算,只是抬起头来。另外,您应该查看如何从HTML抽象事件处理。这是一个不好的做法。 – 2014-09-25 19:25:17
@SterlingArcher - 由于JavaScript是弱类型语言,因此使用字符串(除了'+')进行数学计算没有任何问题。 – 2014-09-25 19:26:04
@Derek朕会功夫不挑剔,但将+看作是一个非常标准的数学运算符,数学和字符串确实可能存在问题?我觉得这对于类型转换更安全,这样你就不会冒连接数字或'NaN'结果的风险 – 2014-09-25 19:31:24