我正在努力的一个小练习使用HTML5,CSS和JavaScript。目标详情如下:
*在26日举行的运动 - 这是部分实现参与的练习。
我写了一些代码,它没有通过浏览器控制台报告任何错误,将我的数字输入带入字段,擦除它们并似乎处理,但在页面上没有写任何结果。我希望有更多熟练使用WebDev的人可以给我一些见解。谢谢!
<!DOCTYPE>
<html>
<head>
<title>Feb 26th</title>
</head>
<body bgcolor="gray">
<script type="text/javascript">
var totalScore;
function functionA(array) {
if (!(array.length == 9) || !(Array.isArray(array))){
return false;
}
if ((array[0] >= 0 && array[0] <= 10) && (array[1] >= 0 && array[1] <= 10)) {
var percentage1 = array[0] / 10;
var percentage2 = array[1] / 10;
var weightIndividual = 0.05 / 2;
array[0] = percentage1 * weightIndividual;
array[1] = percentage2 * weightIndividual;
}
else {
console.log('Quizes are out of bounds.');
}
if ((array[2] >= 0 && array[2] <= 100) && (array[3] >= 0 && array[3] <= 100) &&
(array[4] >= 0 && array[4] <= 100) && (array[5] >= 0 && array[5] <= 100)) {
var percentage1 = array[2] / 100;
var percentage2 = array[3] / 100;
var percentage2 = array[4] / 100;
var percentage2 = array[5] / 100;
var weightIndividual = 0.05 / 4;
array[2] = percentage1 * weightIndividual;
array[3] = percentage2 * weightIndividual;
array[4] = percentage1 * weightIndividual;
array[5] = percentage1 * weightIndividual;
}
else {
console.log('Assignments are out of bounds.');
}
if (array[6] >= 0 && array[6] <= 50) {
var percentage = array[6] / 50;
array[6] = percentage * .1;
}
else {
console.log('Midterm is out of bounds.');
}
if (array[7] >= 0 && array[7] <= 100) {
var percentage = array[7] / 100;
array[7] = percentage * .4;
}
else {
console.log('Final Exam is out of bounds.');
}
if (array[8] >= 0 && array[8] <= 25) {
var percentage = array[8] / 25;
array[8] = percentage * .25;
}
else {
console.log('Project is out bounds.');
}
for (i = 0; i < array.length; i++) {
totalScore += array[i];
}
functionB();
}
function functionB() {
try{
switch (totalScore) {
case (totalScore >= 90):
document.getElementById('result').innerHTML = 'A';
break;
case (totalScore < 90 && totalScore >= 80):
document.getElementById('result').innerHTML = 'B';
break;
case (totalScore < 80 && totalScore >= 70):
document.getElementById('result').innerHTML = 'C';
break;
case (totalScore < 70 && totalScore >= 60):
document.getElementById('result').innerHTML = 'D';
break;
case (totalScore < 60):
document.getElementById('result').innerHTML = 'F';
}
}
catch(e){
alert('Grades aren\'t all in yet.');
}
}
</script>
<style>
h1 {
text-align: center;
}
</style>
<h1>Grade Input</h1>
<form name="grades" id="grades" onsubmit="return functionA(array[quiz1, quiz2, assignment1, assignment2,
assignment3, assignment4, midterm, final, project])">
Enter grade for quiz 1:<br />
<input id="quiz1" name="quiz1" type="number"><br />
Enter grade for quiz 2:<br />
<input id="quiz2" name="quiz2" type="number"><br />
Enter grade for assignment1:<br />
<input id="assignment1" name="assignment1" type="number"><br />
Enter grade for assignment2:<br />
<input id="assignment2" name="assignment2" type="number"><br />
Enter grade for assignment3:<br />
<input id="assignment3" name="assignment3" type="number"><br />
Enter grade for assignment4:<br />
<input id="assignment4" name="assignment4" type="number"><br />
Enter grade for midterm exam:<br />
<input id="midterm" name="midterm" type="number"><br />
Enter grade for final exam:<br />
<input id="final" name="final" typ="number"><br />
Enter grade for project:<br />
<input id="project" name="project" type="number"><br />
<button type="submit" form="grades" value="submit">Submit</button>
</form>
<p id="result">
Your: grade is:
</p>
</body>
</html>
我在这里找到了成功的代码:
<!DOCTYPE>
<html>
<head>
<title>Feb 26th</title>
</head>
<body bgcolor="gray">
<script type="text/javascript">
var totalScore = 0;
function functionA(array) {
if (!(array.length == 9) || !(Array.isArray(array))){
return false;
}
console.log(array);
if ((array[0] >= 0 && array[0] <= 10) && (array[1] >= 0 && array[1] <= 10)) {
var percentage1 = array[0] / 10;
var percentage2 = array[1] / 10;
var weightIndividual = 0.05 / 2;
array[0] = percentage1 * weightIndividual;
array[1] = percentage2 * weightIndividual;
}
else {
console.log('Quizes are out of bounds.');
}
if ((array[2] >= 0 && array[2] <= 100) && (array[3] >= 0 && array[3] <= 100) &&
(array[4] >= 0 && array[4] <= 100) && (array[5] >= 0 && array[5] <= 100)) {
var percentage1 = array[2] / 100;
var percentage2 = array[3] / 100;
var percentage2 = array[4] / 100;
var percentage2 = array[5] / 100;
var weightIndividual = 0.05 / 4;
array[2] = percentage1 * weightIndividual;
array[3] = percentage2 * weightIndividual;
array[4] = percentage1 * weightIndividual;
array[5] = percentage1 * weightIndividual;
}
else {
console.log('Assignments are out of bounds.');
}
if (array[6] >= 0 && array[6] <= 50) {
var percentage = array[6] / 50;
array[6] = percentage * .1;
}
else {
console.log('Midterm is out of bounds.');
}
if (array[7] >= 0 && array[7] <= 100) {
var percentage = array[7] / 100;
array[7] = percentage * .4;
}
else {
console.log('Final Exam is out of bounds.');
}
if (array[8] >= 0 && array[8] <= 25) {
var percentage = array[8] / 25;
array[8] = percentage * .25;
}
else {
console.log('Project is out bounds.');
}
for (i = 0; i < array.length; i++) {
console.log('Adding value of: ' + array[i]);
if (isNaN(array[i])) { array[i] = 0; };
totalScore += Number.parseInt(array[i] * 100);
}
event.preventDefault();
functionB();
}
function functionB() {
console.log('xxxxxxxxxxxxxx: ' + totalScore);
try {
if (totalScore >= 90) {
document.getElementById('result').innerHTML = 'A';
} else if (totalScore < 90 && totalScore >= 80) {
document.getElementById('result').innerHTML = 'B';
} else if (totalScore < 80 && totalScore >= 70) {
document.getElementById('result').innerHTML = 'C';
} else if (totalScore < 70 && totalScore >= 60) {
document.getElementById('result').innerHTML = 'D';
} else if (totalScore < 60) {
document.getElementById('result').innerHTML = 'F';
}
}
catch(e){
alert('Grades aren\'t all in yet.');
}
}
</script>
<style>
h1 {
text-align: center;
}
</style>
<h1>Grade Input</h1>
<form name="grades" id="grades" onsubmit="return functionA([document.getElementById('quiz1').value, document.getElementById('quiz2').value,
document.getElementById('assignment1').value, document.getElementById('assignment2').value, document.getElementById('assignment3').value,
document.getElementById('assignment4').value, document.getElementById('midterm').value, document.getElementById('final').value, document.getElementById('project').value])">
Enter grade for quiz 1:<br />
<input id="quiz1" name="quiz1" type="number"><br />
Enter grade for quiz 2:<br />
<input id="quiz2" name="quiz2" type="number"><br />
Enter grade for assignment1:<br />
<input id="assignment1" name="assignment1" type="number"><br />
Enter grade for assignment2:<br />
<input id="assignment2" name="assignment2" type="number"><br />
Enter grade for assignment3:<br />
<input id="assignment3" name="assignment3" type="number"><br />
Enter grade for assignment4:<br />
<input id="assignment4" name="assignment4" type="number"><br />
Enter grade for midterm exam:<br />
<input id="midterm" name="midterm" type="number"><br />
Enter grade for final exam:<br />
<input id="final" name="final" typ="number"><br />
Enter grade for project:<br />
<input id="project" name="project" type="number"><br />
<button type="submit" form="grades" value="submit">Submit</button>
</form>
<p id="result">
Your: grade is:
</p>
</body>
</html>