Javascript计算器问题

时间:2012-03-30 12:48:36

标签: javascript forms calculator

我的脚本有问题,我不知道如何处理它。 我正在尝试制作一个简单的计算器,显示您必须为随机模型支付多少费用。我正在尝试根据选择菜单中选择的时间和提前量显示不同的答案。当我简单地列出if语句之外的变量时,每个if语句中的公式确实有效,但是我只想显示适用的答案。我做错了什么? 请原谅我的基本JS技能,但我仍然是这个领域的初学者。谢谢你的时间。

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Calculator</title>


<script script language="javascript" type="text/javascript">
function  rata() {
    var selection1 = document.getElementsById("model")[0].value;;
    var selection2 = document.getElementsById("time")[1].value;;
    var selection3 = document.getElementsById("advance")[2].value;;

    if(selection2 === "t1" && selection3 === "a1"){
        var pay1 = "100 euro";
        alert("You must pay"  +  pay1  +  ".");
    }
    else if(selection2 === "t1" && selection3 === "a2"){
        var pay2 = "200 euro";
        alert("You must pay"  +  pay2  +  ".");
    }
    else if(selection2 === "t2" && selection3 === "a1"){
        var pay3 = "400 euro";
        alert("You must pay"  +  rata3  +  ".");
    }
    else if(selection2 === "t2" && selection3 === "a2"){
        var pay4 = "800 euro";
        alert("You must pay"  +  pay4  +  ".");
    }
}
</script>

</head>

<body>

                    <form name="calculator">
                        Model <br><select name="model" id="model"> 
                                        <option value="">selectati modelul</option>
                                        <option value="model">Model 1</option>
                                        <option value="model">Model 2</option>
                                        <option value="model">Model 3</option>
                                        <option value="model">Model 4</option>
                                        <option value="model">Model 5</option>
                                        <option value="model">Model 6</option>
                                        <option value="model">Model 7</option>
                                        <option value="model">Model 8</option>
                                  </select><br>
                        Time <br><select name="time" id="time">
                                        <option value="">select time</option>
                                        <option value="t1">1 year</option>
                                        <option value="t2">2 years</option>
                                  </select> <br>
                        Advance <br><select name="advance" id="advance">
                                        <option value="" >select advance</option>
                                        <option value="a1" >0%</option>
                                        <option value="a2" >50%</option>
                                  </select> <br>
                                  <input type="button" value="Send" onclick="pay()">
                    </form> 


</body>
</html>

1 个答案:

答案 0 :(得分:1)

<input type="button" value="Send" onclick="pay()">&lt; ---这会调用“pay()”,但您的函数名为“rata()”

document.getElementsById("model")[0].value;&lt; - 没有这样的功能,它不是复数,它应该是:getElementById

document.getElementById("model")[0].value;永远不会给你SELECT的值。使用此:

var sel1 = document.getElementById("model")
var val1 = sel1[sel1.selectedIndex].value

由于您获得了值,并且所有值都是“模型”,因此无论用户选择什么,您都将获得相同的值。