Reputation: 35
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
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
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
Reputation: 3669
var degreesF = ((degreesC * 9/5)+ (32));
...
var degreesC = ((degreesF - 32) * (5/9));
Upvotes: 1