Forum Moderators: open
<html>
<head>
<title></title>
<script language="JavaScript" type="text/javascript">
function convertDegrees(degEntry)
{
//var degEntry;
var degFahren;
var degCent;
degCent = degEntry;
degFahren = 9/5 * degCent + 32;
return degFahren;
document.write("<p>" +degCent + "\xB0 in Fahrenheit is " + degFahren+ "</p>");
}
</script>
</head>
<body>
<form name="degreeconverter">
<p>Enter your °C - degrees Centigrade - here</p>
<input type="text" size="3" name="degEntry" value="20" />
<input type="button" value="Convert" name="convert" onclick="convertDegrees()" />
<br />
</form>
</body>
</html>
Expects to be called convertDegrees(some value here for degEntry)
You call it onclick="convertDegrees()", without a value.
You need to somehow get value from here
<input type="text" size="3" name="degEntry" value="20" />
probably better written as
<input type="text" size="3" id="degEntry" value="20" />
Enough clues ? Consider using document.getElementById("degEntry") as part of solution
<html>
<head>
<title></title>
<script language="JavaScript" type="text/javascript">
function convertDegrees(degEntry)
{
var degFahren;
var degCent;
degCent = degEntry;
degFahren = 9/5 * degCent + 32;
return degFahren;
}
</script>
</head>
<body>
<form name="degreeconverter">
<p>Enter your °C - degrees Centigrade - here</p>
<input type="text" size="3" id="degEntry" value="20" />
<input type="button" value="Convert" name="convert" onclick="convertDegrees(document.getElementById('degEntry'))" />
<script language="JavaScript" type="text/javascript">
document.write("<p>" +degCent + "\xB0 in Fahrenheit is " + degFahren+ "</p>");
</script>
<br />
</form>
</body>
</html>
document.getElementById('degEntry').value
this is text string, best to convert it to a number, though js may do this for you in some cases. And yes in serious code you should have numeric check.
parseInt( document.getElementById('degEntry').value, 10 )
the 10 makes sure it is treated as decimal
the conversion routine simplifies to
function convertDegrees(degCent)
{ return ( 9/5 * degCent ) + 32;
}
Brackets may not be needed but helps make intent clear.
I changed degEntry to degCent to avoid any confusion.
Using extra lines of code as you had can be useful while debugging.
function convertDegrees(degCent){
var degFahren = ( 9/5 * degCent ) + 32;
document.write("<p>" +degCent + "\xB0 in Fahrenheit is " + degFahren+ "</p>")
}
The return statement is not needed as the call to convertDegrees does nothing with return result.
remove following as degFahren will not be known till after onclick
<script language="JavaScript" type="text/javascript">
document.write("<p>" +degCent + "\xB0 in Fahrenheit is " + degFahren+ "</p>");
</script>