我正在使用JavaScript创建温度转换器。到目前为止,当用户首先输入时,只有Celsius转换才有效。我只是弄清楚如何构造其他if语句。
var conversionC;
var conversionF;
var conversionK;
if ( celsius.value != "" ) {
conversionF = document.getElementById("celsius").value * 9 / 5 + 32;
document.getElementById("fahrenheit").value = Math.round(conversionF);
}
else if ( fahrenheit.value != "" ){
conversionC = (document.getElementById("fahrenheit").value - 32) * 5 / 9;
document.getElementById("celsius").value = Math.round(conversionC);
}
if ( kelvin.value != "" ){
conversionC = document.getElementById("celsius").value - -273;
document.getElementById("kelvin").value = Math.round(conversionC);
}
我只想保留我拥有的一个转换按钮,并且当用户决定先输入华氏度或开尔文时仍然可以使用它。
非常感谢任何指导!
到目前为止,这是我的程序的JSFiddle: https://jsfiddle.net/2sharkp/kw2sr1wx/
谢谢!
答案 0 :(得分:0)
在你的JSFiddle中,你将获取每个值并将其转换为parseFloat
的浮点数。
这意味着当您点击if ( celsius.value != "" )
时,您正在呼叫.value
一个号码undefined
。因此,您确实在调用if ( undefined != "" )
,这是真的,并且您的第一个if
块将始终执行。
我假设您打算采用最近编辑过的字段并将其用于转换。我建议使用一个标志来指示上次编辑的字段。