Javascript错误

时间:2015-07-03 16:41:19

标签: javascript

我试图创建一个网页,允许我的员工输入一个数字,并获得一个贯穿等式的数字。我想让它做两个简单的数学问题,如下所示,并输出更大的数字。

方程

  

X + 150 = Y

     

X * 1.5 + 89 = Z

然后显示较大的变量。 我无法让它发挥作用。 我很确定这是一个主要的菜鸟错误。

<script type="text/javascript">
function updateOutput() { 
        //get form
    var form = document.getElementById("calc");
        //get output
    var out = form.elements["z"];
        //get two numbers
    var num1 = parseInt(form.elements["x"].value);
        //add 150
    var num2 = 150;
        //multiply 1.5;
    var num3 = 1.5;
        //add 89
    var num4 = 89;
        //amount1
    var amount1;
        //amount2
    var amount2;
        //set output depending on amount

        //add
        amount1.value = num1+num2;
        //multiple
        amount2.value = num1*num3+num4;

    If amount1 > amount2 Then
        out.value = amount1.value
    Else
        out.value = amount2.value
}

</script>

1 个答案:

答案 0 :(得分:1)

一些错误:

  1. amount1.value仅在您将amount定义为Object时才有效,并且此处不需要对象。对于amount2也是如此。
  2. if else符号错误
  3. 最好去一些教程网站,如w3schoolcodecademy或购买一些书籍。

    代码更改,添加表单,输入演示。

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <form id="calc">
        <input type="number" name="x"/>
        <input type="number" name="z"/>
    </form>
        <button onclick="updateOutput();">click</button>
    <script>
        function updateOutput() { 
            //get form
        var form = document.getElementById("calc");
            //get output
        var out = form.elements["z"];
            //get two numbers
        var num1 = parseInt(form.elements["x"].value);
            //add 150
        var num2 = 150;
            //multiply 1.5;
        var num3 = 1.5;
            //add 89
        var num4 = 89;
            //amount1
        var amount1;
            //amount2
        var amount2;
            //set output depending on amount
          
            //add
            // It's ok to just assign value to them.
            amount1 = num1+num2;
            //multiple
            amount2 = num1*num3+num4;
         
         // Also here, don't use amountX.value.
        if (amount1 > amount2) {
            out.value = amount1
        } else {
            out.value = amount2
        }
    }
    </script>