简单等级计算器的JS代码不起作用

时间:2015-12-25 03:36:02

标签: javascript

为什么我的代码下面的简单成绩计算器不起作用?我可以输入数字,但在我这样做之后,屏幕上没有显示等级。我究竟做错了什么?日本人可以被忽视。我的学生是日语,所以我用日语说明。

    <!DOCTYPE html>
        <html>
        <head>
        <meta charset="UTF-8">
        <title>英語1B</title>

        <script>
        function computeGrade() {
        var q1=document.getElementById('q1').value;
        var q2=document.getElementById('q2').value;
        var q3=document.getElementById('q3').value;
        var es1=document.getElementById('es1').value;
        var es2 =document.getElementById('es2').value;
        var es3 =document.getElementById('es3').value;
        var a=document.getElementById('a').value;
        var average = ((q1+q2+q3)/192*.25 + (es1+es2+es3)/50*.55 +     a/14*.2)*100);
        document.getElementById('average').innerHTML = "あなたの平均が" +   average + "%。";}



        </script>
        </head>

        <body>
        <h2>成績の計算</h2>

        <p>小テスト1の点数:<input id="q1" type="number" onchange="computeGrade()"></p>

         <p>小テスト2の点数:<input id="q2" type="number" onchange="computeGrade()"></p>

<p>小テスト3の点数:<input id="q3" type="number" onchange="computeGrade()"></p>

<p>エレベーター・スピーチ1の点数: <input id="es1" type="number" onchange="computeGrade()"></p>

        <p>エレベーター・スピーチ2の点数: <input id="es2" type="number" onchange="computeGrade()"></p>

        <p>エレベーター・スピーチ3の点数: <input id="es3" type="number" onchange="computeGrade()"></p>

        <p>出席の回数: <input id="a" type="number" onchange="computeGrade()"></p><br>

         <p id = "average"></p>


         </body>

         </html>

2 个答案:

答案 0 :(得分:0)

您的HTML第16行有一个额外的括号:

{{ render_field(form.first_name, tabindex=230) }}

{{ render_field(form.last_name, tabindex=230) }}

我发现这是通过将您的代码段复制/粘贴到html文件中,然后打开浏览器的控制台输出来查看错误指向的位置。

答案 1 :(得分:0)

您的javascript中有1个意外令牌:您应该删除计算平均值的行上的最后一个令牌

var average = ((q1+q2+q3)/192*.25 + (es1+es2+es3)/50*.55 + a/14*.2)*100;

我将您的代码放入codepen:http://codepen.io/anon/pen/jWMwwM