我要制作一个包含两个文本框的页面,一个摄氏温度和一个华氏温度.在它们之间,有一个转换按钮,可将摄氏温度转换为华氏度,并将华氏温度转换为摄氏温度.如果任何一个框中都有字母,我想取消转换,并弹出警告说“请只输入数字!”到目前为止,我还没有弄清楚如何获得警报,当我在“摄氏温度”框中键入数字时,它总是在同一框中显示数字-18.华氏温度很好.
Temparature ConverterCelsius:
Convert
Fahrenheit:
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.
解决方法:
不需要onkeyup属性,因为它们的原始代码来自W3Schools,旨在将其输入时立即更新值.
我确实修改了功能以清除原始值,这样,转换按钮可以通过简单的代码同时使用.
这是完成此工作的快速JavaScript:
function convertTemp() {
// Set the initial variables for c (Celsius) and f (Fahrenheit)
var c = document.getElementById('c'), f = document.getElementById('f');
// Test if there is a value for Celsius
if(c.value != '') {
// Set the value for Fahrenheit
f.value = Math.round(c.value * 9 / 5 + 32);
// Clear the value for Celsius
c.value = '';
// If there isn't a value for Celsius
} else {
// Set the value for Celsius
c.value = Math.round((f.value - 32) * 5 / 9);
// Clear the value for Fahrenheit
f.value = '';
}
}
及其随附的HTML:
Celcius:
Fahrenheit:
Convert
像这样的简单代码需要记住,没有什么可以验证提供的值是可接受的.少许正则表达式可以用作验证,但是如何实现取决于您要如何标记问题.
标签:converter,html,javascript,jquery
来源: https://codeday.me/bug/20191121/2050130.html