Я искал этот вопрос по всему сайту, но не смог найти нужный мне ответ. Я делаю форму, которая производит процент оценки и буквенную оценку на основе пользовательского ввода.
Однако мне также нужно проверить форму. В настоящее время функция вычисления работает нормально, но код HTML не проверяется перед отправкой, поэтому пользователь может отправить что угодно, и он все равно будет работать. Есть ли простой способ проверки без использования переменных проверки JavaScript?
Спасибо !!
HTML:
<p><b>Name: </b> <input type="text" size="20" id="student" required><span class="required">*</span></p>
<p><b>Assignment 1: </b><input type="number" id="assign1" size=10 value="" name="onlynumbers" min="0" max="25" required><span class="required">*</span></p>
<p><b>Assignment 2: </b><input type="number" id="assign2" size=10 value="" name="onlynumbers" min="0" max="25" required><span class="required">*</span></p>
<p><b>Assignment 3: </b><input type="number" id="assign3" size=10 value="" name="onlynumbers" min="0" max="25" required><span class="required">*</span></p>
<p><b>Assignment 4: </b><input type="number" id="assign4" size=10 value="" name="onlynumbers" min="0" max="25" required><span class="required">*</span></p>
<p><b>Midterm Exam: </b><input type="number" id="midterm" size=10 value="" name="onlynumbers" min="0" max="100" required><span class="required">*</span></p>
<p><b>Final Exam: </b><input type="number" id="final" size=10 value="" name="onlynumbers" min="0" max="100" required><span class="required">*</span></p>
<p><b>Final Project: </b><input type="number" id="project" size=10 value="" name="onlynumbers" min="0" max="100" required=""><span class="required">*</span></p>
<p>
<button onclick="calculator()">Submit</button>
<input type="reset" value="Reset">
</p>
</form>
JavaScript:
function calculator()
{
var student=document.getElementById('student').value;
var grade1=parseFloat(document.getElementById('assign1').value*1);
var grade2=parseFloat(document.getElementById('assign2').value*1);
var grade3=parseFloat(document.getElementById('assign3').value*1);
var grade4=parseFloat(document.getElementById('assign4').value*1);
var grade5=parseFloat(document.getElementById('midterm').value*1);
var grade6=parseFloat(document.getElementById('final').value*1);
var grade7=parseFloat(document.getElementById('project').value*1);
var total=grade1 + grade2 + grade3 + grade4 + grade5 + grade6 + grade7;
var average = total / 4
document.getElementById('average').innerHTML = average;
if ( average < 59.9 )
document.writeln("<h1>Hello "+ student +", your grade percent is " + average +"%, and your letter grade is F.</h1>" );
else if (average <= 63.9 && average >= 60 )
document.writeln("<h1>Hello, "+ student +", your grade percent is " + average +"%, and your letter grade is D-.</h1>" );
else if( average <= 66.9 && average >= 64 )
document.writeln("<h1>Hello "+ student +", your grade percent is " + average +"%, and your letter grade is D.</h1>" );
else if( average <= 69.9 && average >= 67 )
document.writeln("<h1>Hello "+ student +", your grade percent is " + average +"%, and your letter grade is D+.</h1>" );
else if( average <= 73.9 && average >= 70 )
document.writeln("<h1>Hello "+ student +", your grade percent is " + average +"%, and your letter grade is C-.</h1>" );
else if( average <= 76.9 && average >= 74 )
document.writeln("<h1>Hello "+ student +", your grade percent is " + average +"%, and your letter grade is C.</h1>" );
else if( average <= 79.9 && average >= 77 )
document.writeln("<h1>Hello "+ student +", your grade percent is " + average +"%, and your letter grade is C+.</h1>" );
else if( average <= 83.9 && average >= 80 )
document.writeln("<h1>Hello "+ student +", your grade percent is " + average +"%, and your letter grade is B-.</h1>" );
else if( average <= 86.9 && average >= 84 )
document.writeln("<h1>Hello "+ student +", your grade percent is " + average +"%, and your letter grade is B.</h1>" );
else if( average <= 89.9 && average >= 87 )
document.writeln("<h1>Hello "+ student +", your grade percent is " + average +"%, and your letter grade is B+.</h1>" );
else if( average <= 93.9 && average >= 90 )
document.writeln("<h1>Hello "+ student +", your grade percent is " + average +"%, and your letter grade is A.</h1>" );
else if( average <= 100 && average >= 94 )
document.writeln("<h1>Hello "+ student +", your grade percent is " + average +"%, and your letter grade is A+.</h1>" );
}