total_1不斷帶回未定義。我究竟做錯了什麼?如果總分數大於它,我想增加10,如果不是,我想只增加5分。其他人來的很好,總數只有1分。爲什麼我在這裏一直未定義?
function findMark(){
var x1 = document.getElementById("fn").value;
var x2 = document.getElementById("ln").value;
var grade1 = parseFloat(document.getElementById("midterm").value*0.35);
var grade2 = parseFloat(document.getElementById("assign").value*0.1);
var grade3 = parseFloat(document.getElementById("quiz").value*0.15);
var grade4 = parseFloat(document.getElementById("final").value*0.4);
var total = Math.round(grade1 + grade2 + grade3 + grade4);
var total_1 = findFinalMark(total);
document.getElementById("outputDiv").innerHTML = "Name = " + x1 + " " + x2 + "<br>" + "Your mark is = " + total + "%" + "<br>" + "Your Final Mark = " + total_1 + "%";
function findFinalMark (x) {
sum = 0;
i = 1;
while (i < x){
if (x % i == 0){
sum += i;
}
i++;
}
if (sum > x) {
x = x + 10;
}
else {
x = x + 5;
}
}
}
如果你的'midterm','assign','quiz'和'final'輸入具有'type = text'試圖對它們的值執行數學運算將不會給你一個整數。將它們設置爲'type =「number」'或使用'parseInt'。 –
我對他們使用type =「number」。唯一給我定義的是total_1。我知道問題來自我的js而不是html。 –
你的'findFinalMark'函數沒有返回值 –