2014-03-02 51 views
0

我是一個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

回答

0

它需要:

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

1
​​

...

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

一兩件事我注意到快是

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

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

Number乘以String將返回NaN的。我認爲你的意思是使用你在每一行上面定義的變量。

因此,例如...

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

你或許應該接受的參數爲那些平變化的功能了,因爲沒有使用它們。除此之外,我認爲這將有助於提供所有相關的代碼(包括HTML),以便我們能夠進一步提供幫助。