user3369726
user3369726

Reputation: 35

Temperature converter with JavaScript not working

I'm a total beginner with JavaScript. I'm trying to get this temp converter to work, but get confused on what need to be called. Why is this code not working?

     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;
 }

Upvotes: 0

Views: 213

Answers (3)

JesseH
JesseH

Reputation: 1

One thing I noticed fast was

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

and

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

Multiplying a String by a Number will return NaN. What I think you meant to do was use the variables you defined above each of those lines.

So for example...

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

You should probably take the arguments for those onchange functions out, because they are not being used. Other than that, I think it would help to provide all relevant code (including HTML), so that we can assist you further.

Upvotes: 0

PlasmaPower
PlasmaPower

Reputation: 1878

It needs to be:

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;
}

You are referencing the variable, not a string.

Upvotes: 0

palanik
palanik

Reputation: 3669

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

...

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

Upvotes: 1

Related Questions