不会转换温度

时间:2013-02-09 10:09:11

标签: javascript

我正在制作一个简单的转换表格,从摄氏度到华氏度,从华氏度到摄氏度。我无法弄清楚它为什么不转换。

HTML

<head>
    <script type="text/javascript" src="script.js"></script>
</head>

<body>
    <form name="tempForm">
        <label for="temp">Temperature:</label>
        <input type="text" id="temp"><br>

        <input type="radio" name="choice" value="fahrenheit" checked />Convert to Fahrenheit <br>
        <input type="radio" name="choice" value="celsius">Convert to Celsius  <br>

        <label for="resultField">Result: </label>
        <input type="text" id="resultField"><br>

        <input type="button" value="Convert" onclick="processForm()">
    </form>

</body>

的Javascript     function processForm(){

var temperature = Number(document.tempForm.temp.value);
var tempType;
var result;

for (var i=0; i < document.tempForm.choice.length; i++) {

    if (document.tempForm.choice[i].checked) {
        tempType = document.tempForm.choice[i].value;
    }
}

if (tempType == 'fahrenheit') {
    result = temperature * 9/5 + 32;
}

else {
    result = (temperature -  32)  *  5/9;
}

// Assign the result field value here
result = document.tempForm.resultField.value;
}

2 个答案:

答案 0 :(得分:5)

您最后将结果分配错误。你必须将赋值的目标放在assingment的lefthandside,因此你在resultfield和righthandside上要分配它的值,如下所示:

document.tempForm.resultField.value = result;

答案 1 :(得分:1)

您的转化工作正常,但您正在以错误的方式为resultField分配结果。

像这样转换分配(最后一个)

document.tempForm.resultField.value  = result;