Javascript温度转换器

时间:2014-04-06 00:56:35

标签: javascript

是的,这是家庭作业,我对Javascript很新。我已经重新使用了这个温度转换器计算器十几次,而且我的大脑是糊状的。任何帮助或提示都会很棒。我在这里通过类似的问题/答案进行了工作,但似乎都没有满足给出的要求。

计算器的要求是:

  • 此应用程序允许用户选择温度转换类型。

  • 如果用户选择其中一个单选按钮,此应用程序将禁用用于显示计算结果的文本框,它会启用用于从用户获取数据的文本框,并删除任何来自两个文本框的数据。

  • 当用户点击转换按钮时,此应用程序会在禁用的文本框中显示已转换的温度。

这是HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Temperature Converter</title>
<link rel="stylesheet" type="text/css" href="default.css" />
<script type="text/javascript" src="convert_temp.js"></script>
</head>
<body>
    <div id="content">
        <h1>Convert temperature</h1>

        <input type="radio" name="conversion_type" id="to_celcius" checked="checked" onclick="update()" />From Fahrenheit to Celcius<br />
        <input type="radio" name="conversion_type" id="to_fahrenheit" onclick="update()"/>From Celcius to Fahrenheit<br />
        <br />

        <label>Degrees Fahrenheit:</label>
        <input type="text" id="fdegrees" onclick="update()" /><br />
        <label>Degrees Celcius:</label>
        <input type="text" id="cdegrees" onclick="update()"/><br />
        <br />

        <input type="button" id="convert" value="Convert" onclick="convert()"/><br />
        <br />        
    </div>
</body>
</html>

显然不起作用的JS:

    var $ = function (id) { return document.getElementById(id); }

    function update() {
            if ($("to_celcius").checked = true) {
            document.getElementById("cdegrees").disabled = true;
            document.getElementById("cdegrees").value = ''
            }
            else ($("to_fahrenheit").checked == true) {
             document.getElementById("fdegrees").disabled = true;
             document.getElementById("fdegrees").value = ''
            }

    function convert () {
     function convertToC() {
            var fTempVal = parseFloat(document.getElementById('fdegrees').value);
            var cTempVal = (fTempVal - 32) * (5 / 9);
            document.getElementById('cdegrees').value = cTempVal.toFixed(2);
            return false;
        }

        function convertToF() {
            var cTempVal = parseFloat(document.getElementById('cdegrees').value);
            var fTempVal = (cTempVal * (9 / 5)) + 32;
            document.getElementById('fdegrees').value = fTempVal.toFixed(2);
            return false;
        }
    }

window.onload = function () { 
    $("conversion_type").onclick = calculate_click;}

1 个答案:

答案 0 :(得分:2)

您没有calculate_click事件处理程序,所以看起来 - 这意味着当您单击按钮时,没有任何反应。

单击按钮后,您将需要一个运行转换函数的函数,此函数最好称为calculate_click