首页 > 解决方案 > HTML/Javascript 平均分

问题描述

我正在尝试计算在文本框中输入的平均分数,但是当我单击结果按钮时,平均值不会出现。这可能是 javascript 中的某些内容,但我不确定可能出了什么问题。我需要向 javascript 添加更多内容吗?感谢帮助。

HTML 代码

<h2>Average Marks</h2>
<p>
<label>Module Grade 1: <input id="grade1" type="text" name="grade1" size ="10" /> </label><br /><br />
<label>Module Grade 2: <input id="grade2" type="text" name="grade2" size ="10" /> </label><br /><br />
<label>Module Grade 3: <input id="grade3" type="text" name="grade3" size ="10" /> </label><br /><br />
<label>Module Grade 4: <input id="grade4" type="text" name="grade4" size ="10" /> </label><br /><br />
<label>Module Grade 5: <input id="grade5" type="text" name="grade5" size ="10" /> </label><br /><br />
<label>Module Grade 6: <input id="grade6" type="text" name="grade6" size ="10" /> </label><br /><br />

<input type="submit" name="avg" onclick="average()" value="Average"/>
<label>Result: <input id="average" type="text" name="average" size ="8" /> </label><br/>

Javascript代码

function average(){
    var grade1 = parseInt(document.getElementById("grade1").value);
    var grade2 = parseInt(document.getElementById("grade2").value);
    var grade3 = parseInt(document.getElementById("grade3").value);
    var grade4 = parseInt(document.getElementById("grade4").value);
    var grade5 = parseInt(document.getElementById("grade5").value);
    var grade6 = parseInt(document.getElementById("grade6").value);


    var add = grade1 + grade2 + grade3 + grade4 + grade5 + grade6;
    var avg = add / 6;
    document.getElementById("average").value = ave.toFixed(2);
}

标签: javascripthtmlaveragecalculation

解决方案


改变

ave.toFixed(2)  

avg.toFixed(2);

function average(){
    var grade1 = parseInt(document.getElementById("grade1").value);
    var grade2 = parseInt(document.getElementById("grade2").value);
    var grade3 = parseInt(document.getElementById("grade3").value);
    var grade4 = parseInt(document.getElementById("grade4").value);
    var grade5 = parseInt(document.getElementById("grade5").value);
    var grade6 = parseInt(document.getElementById("grade6").value);


    var add = grade1 + grade2 + grade3 + grade4 + grade5 + grade6;
    var avg = add / 6;
    document.getElementById("average").value = avg.toFixed(2);
}
<h2>Average Marks</h2>
<p>
<label>Module Grade 1: <input id="grade1" type="text" name="grade1" size ="10" /> </label><br /><br />
<label>Module Grade 2: <input id="grade2" type="text" name="grade2" size ="10" /> </label><br /><br />
<label>Module Grade 3: <input id="grade3" type="text" name="grade3" size ="10" /> </label><br /><br />
<label>Module Grade 4: <input id="grade4" type="text" name="grade4" size ="10" /> </label><br /><br />
<label>Module Grade 5: <input id="grade5" type="text" name="grade5" size ="10" /> </label><br /><br />
<label>Module Grade 6: <input id="grade6" type="text" name="grade6" size ="10" /> </label><br /><br />

<input type="submit" name="avg" onclick="average()" value="Average"/>
<label>Result: <input id="average" type="text" name="average" size ="8" /> </label><br/>


推荐阅读