这是我的代码的Javascript输出不正确
var form = document.getElementById("addStudent");
form.addEventListener("submit", function(event) {
// Get form items
var jerseyNumber = document.getElementById("jerseyNumber").value;
var completions = document.getElementById("completions").value;
var attempts = document.getElementById("attempts").value;
var player = new Object();
player.attempts = attempts;
player.completions = completions;
player.jerseyNumber = jerseyNumber;
function percentage() {
var e = ((player.completions/player.attempts) * 100);
return e;
}
function showResults(event) {
document.getElementById("results").innerHTML = "Freethrow Percentage for # " + player.jerseyNumber + " is " + percentage.e + "%";
}
showResults();
resetForm(jerseyNumber, completions, attempts);
event.preventDefault(); // Stop the form from submitting
}, false);
// Resets the form after it's submitted
function resetForm(jerseyNumber, freethrowCompleted, freethrowAttempts) {
jerseyNumber.value = "";
freethrowCompleted.value = "";
freethrowAttempts.value = "";
}
和输出 “为#23 Freethrow百分比是未定义%”
,基本上我不知道为什么e
返回为undefined
。
而这正是我尝试做
- 提交表单后,你的程序必须创建一个JavaScript对象来代表玩家。对象必须具有属性以包含球衣号码,他们的投篮尝试和射门完成。对象还必须包含计算球员罚球命中率的方法。下面是公式:Math.round(completed/attempts * 100)
- 然后,您必须创建一个名为showResults()的函数,将此学生对象作为参数,并在屏幕上以id =“结果显示div的结果”。以下示例使用此HTML:
<h4>Freethrow Percentage for #23: 94%</h4>
。射击百分比必须用百分号四舍五入到最接近的整数(请参阅上面的公式和下面的截图)。
你写出'percentage.e',但有没有分配给这个值。 * e *是一个变量,而不是对象属性。变量不可用作函数的属性,你需要'... + percentage()+ ...'。 – RobG
要调用一个函数,在其后加上括号,'percentage()'。 – Barmar