JavaScript不工作的温度转换器

问题描述:

我是一个JavaScript初学者。我试图让这个临时转换器正常工作,但是对于需要调用的东西感到困惑。为什么这段代码不工作?JavaScript不工作的温度转换器

 var convertCtoF = document.getElementById("degC"); 
convertCtoF.onchange = function(degC){ 
       var degreesC = document.getElementById("degC").value; 

       var degreesF = (("degC" * 9/5)+ (32)); 

       document.getElementById("degFOut").innerHTML = degreesF; 
} 

var convertFtoC = document.getElementById("degF"); 
convertFtoC.onchange = function(degF){ 
       var degreesF = document.getElementById("degF").value; 

       var degreesC = (("degF" - 32) * (5/9)); 

       document.getElementById("degCOut").innerHTML = degreesC; 
} 
+0

请发布一个完整的代码示例,以便我们可以重新创建您遇到的问题。另外,发布你得到的错误。 – j08691

它需要:

var convertCtoF = document.getElementById("degC"); 
    convertCtoF.onchange = function(degC){ 
    var degreesC = document.getElementById("degC").value; 
    var degreesF = ((degreesC * 9/5)+ (32)); 
    document.getElementById("degFOut").innerHTML = degreesF; 
} 

var convertFtoC = document.getElementById("degF"); 
    convertFtoC.onchange = function(degF){ 
    var degreesF = document.getElementById("degF").value; 
    var degreesC = ((degreesF - 32) * (5/9)); 
    document.getElementById("degCOut").innerHTML = degreesC; 
} 

你引用的变量,而不是字符串。

+0

谢谢!我通过引用变量来实现它。 – user3369726

​​

...

var degreesC = ((degreesF - 32) * (5/9)); 

一两件事我注意到快是

(("degC" * 9/5)+ (32)); 

(("degC" * 9/5)+ (32)); 

Number乘以String将返回NaN的。我认为你的意思是使用你在每一行上面定义的变量。

因此,例如...

var degreesC = document.getElementById("degC").value; 
var degreesF = ((degreesC * 9/5)+ (32)); 

你或许应该接受的参数为那些平变化的功能了,因为没有使用它们。除此之外,我认为这将有助于提供所有相关的代码(包括HTML),以便我们能够进一步提供帮助。