<h2>Volume</h2>

        <b>Choose Convert : </b><br><br>
        <input type=radio name=volConvert id="LitToGal" value="LitToGal" checked>Litre To Gallon<br>
        <input type=radio name=volConvert id="GalToLit" value="GalToLit">Gallon To Litre
        <br><br>

        <label>
            <b>Input a data: </b><br>
            <input name="volData" id="inVolData" type="text" size="10">
        </label><br><br>

        <p>
            <input type=button value="Convert" onClick="VolConvert()" />
        </P>

        <h4 id="result"></h4>

    </div>


var value = parseFloat(0);
var conValue = parseFloat(0);

函数VolConvert(){

if (document.getElementById("LitToGal")) {

    var inputData = parseFloat(document.getElementById("inVolData").value);
    value = (inputData * 16.52);

} else if (document.getElementById("GalToLit")) {

    var inputData = parseFloat(document.getElementById("inVolData").value);
    value = (inputData * 113.50);
}

var conValue = value.toFixed(2);;

resultmessage = ("The converted value: " + conValue);
document.getElementById("result").innerHTML = resultmessage;


}

javascript - 为什么从两个不同处得到相同的结果?-LMLPHP

javascript - 为什么从两个不同处得到相同的结果?-LMLPHP

最佳答案

在您的代码中,您具有以下If-Statement:

if (document.getElementById("LitToGal")) {
    ...
else if (document.getElementById("GalToLit")) {
    ...
}


由于元素存在于HTML中,因此document.getElementById("LitToGal")始终为true。
含义value = (inputData * 16.52);将始终是结果。

要修复该语句,请尝试以下操作:

if (document.getElementById("LitToGal").checked) {
    ...
else if (document.getElementById("GalToLit").checked) {
    ...
}

09-25 17:31
查看更多