简单的JS计算器与单选按钮

时间:2015-09-06 14:22:56

标签: javascript html radio-button

我找到像我这样的科目,但是在阅读之后我无法解决我的问题,所以我想用JS制作一个简单的计算器但是我做不到它并且它一直无所事事!我认为主要问题在于单选按钮。

你能帮助我吗,我知道这很容易,但我还是初学者。 PS:我不想要jquery !!!

<!DOCTYPE html>
<html>
<head>
    <title>Exercice1 | JS</title>
    <script>
        function calcul (op, v1, v2){
                if (document.f.op[1].cheked) alert(parseInt(v1.value) + parseInt(v2.value));
                if (document.f.op[2].cheked) alert(parseInt(v1.value) - parseInt(v2.value));
                if (document.f.op[3].cheked) alert(parseInt(v1.value) * parseInt(v2.value));
                if (document.f.op[4].cheked) alert(parseInt(v1.value) / parseInt(v2.value));
            }   
    </script>
</head>
<body>
    <form name ="f" method="POST" action="">
        <label for="v1">Var 1</label>
        <input type="text" name="v1" id="v1"></input>
        <br> <br>
        <label for="v2">Var 2</label>
        <input type="text" name="v2" id="v2"></input>
        <br><br>

        <input type="radio" name="op" value="1"></input>
        <label for="1">+</label>
        <br>
        <input type="radio" name="op" value="2"></input>
        <label for="2">-</label>
        <br>
        <input type="radio" name="op" value="3"></input>
        <label for="3">*</label>
        <br>
        <input type="radio" name="op" value="4"></input>
        <label for="4">/</label>
        <br>
        <input type="submit" onclick="calcul(op, v1, v2)" value="Calculate"></input>
        <input type="reset"></input>
    </form>
</body>

1 个答案:

答案 0 :(得分:1)

很少有事情可以解决我的想法:

不要在你的calcul函数中传递op,v1,v2,并将你的函数改为函数calcul(),因为你已经使用了这三个 - (op,v1,v2)来声明你的元素&#39;无论如何名称 - 无论如何都可以在你的函数中访问具有相同名称的变量

cheked是不正确的,它是.checked

    function calcul (){
                    if (document.f.op[0].checked) alert(parseInt(v1.value) + parseInt(v2.value)); 
// you are accessing an array - so index starts with Zero
                    if (document.f.op[1].checked) alert(parseInt(v1.value) - parseInt(v2.value));
                    if (document.f.op[2].checked) alert(parseInt(v1.value) * parseInt(v2.value));
                    if (document.f.op[3].checked) alert(parseInt(v1.value) / parseInt(v2.value));
                }   

也改变这一点:

onclick="calcul()"