У вас много ошибок в HTML-разметке, и при вставке JavaScript в скрипту или фрагмент StackOverflow вы не должны использовать тег <script>
.
Тогда вы никогда не вызывали *Функция 1006 * для расчета общего процента.
Вы не управляете делением на ноль в своей функции getPercentage()
.
Нетdocument.getElementByName
, но doucment.getElementsByName
обратите внимание на множественное число, и, прежде всего, когда вы используете jquery, просто следуйте одному синтаксису и используйте $("input[name='my-name']")
для удаления элемента по имени.
Вам не нужно определять функцию calculate()
для каждых 2 входов, делать ее универсальной, передавать идентификаторы входов и все.определите его только один раз
Я добавил функцию для проверки деления на ноль и возврата без вычисления или обновления ввода
См. демонстрацию ниже
$(function() {
$('#CAA1,#CAA').on('input', function() {
calculate('#CAA1', '#CAA');
getPercentage();
});
$('#CAB1,#CAB').on('input', function() {
calculate('#CAB1', '#CAB');
getPercentage();
});
$('#CAC1,#CAC').on('input', function() {
calculate('#CAC1', '#CAC');
getPercentage();
});
});
function calculate(input1, input2) {
var pPos = parseInt($(input1).val());
var pEarned = parseInt($(input2).val());
var perc = "";
if (isNaN(pPos) || isNaN(pEarned)) {
perc = " ";
} else {
perc = ((pEarned / pPos) * 100).toFixed(3);
}
$('#pointsperc').val(perc);
}
function getPercentage() {
var grade = ""; //declare a variable for grade
var result = ""; //declare a variable for result
//read the marks
var Response_B4 = $('input[name="Response_B4"]').val();
var Response_C4 = $('input[name="Response_C4"]').val();
var Response_D4 = $('input[name="Response_D4"]').val();
var Response_E41 = $('input[name="Response_E41"]').val();
var Response_E43 = $('input[name="Response_E43"]').val();
var Response_E44 = $('input[name="Response_E44"]').val();
//calculate the total marks (using double notation technique)
var BCD = Response_B4 - (-Response_C4) - (-Response_D4);
var EFG = Response_E41 - (-Response_E43) - (-Response_E44);
if (notZero(EFG)) {
//get the average marks
var averageMarks = BCD / EFG;
//display the results
$('input[name="Response_F4"]').val(averageMarks);
}
} //end of function getpercentage
function notZero(n) {
n = +n; // Coerce to number.
if (!n) { // Matches +0, -0, NaN
return false;
}
return n;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<fieldset>
<legend style=" background-color: purple;color:#0099cc;color:white;"> Generate OVC priority needs report in OLMIS for the past 6 months to assess number of OVC who needed services</legend>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>B. Based on OLMIS priority needs report, how many OVC requested for commodity a under row A in the past 6
months </label>
<div class="row">
<div class="col-md-3">
<div class="form-group">
<input type="number" name="Response_B4" class="form-control" id="CAA1">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>C. Based on OLMIS priority needs report, how many OVC requested for commodity b under row B in
the past 6 months</label>
<div class="row">
<div class="col-md-3">
<div class="form-group">
<input type="number" name="Response_C4" class="form-control" Id="CAB1">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>D. Based on OLMIS priority needs report, how many OVC requested for commodity c under
row C in the past 6 months</label>
<div class="row">
<div class="col-md-3">
<div class="form-group">
<input type="number" name="Response_D4" class="form-control" Id="CAC1">
</div>
</div>
</div>
</div>
<legend style=" background-color: purple;color:#0099cc;color:white;"> Generate OVC overall view report from OLMIS for the past 12 months to assess number of OVC who received procurable services in row g</legend>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>E. Based on OLMIS priority needs report, how many OVC requested for commodity
c under row A in the past 6 months</label>
<div class="row">
<div class="col-md-3">
<div class="form-group">
<label> Received </label>
<input type="NUMBER" name="Response_E41" class="form-control" id="CAA">
</div>
</div>
<div class="row">
<div class="col-md-3">
<label> Not Served % </label>
<input type="TEXT" name="Response_E4" class="form-control" id="pointsperc" readonly>
</div>
</div>
<div class="col-md-12">
<label>F. Based on OLMIS priority needs report, how many OVC requested for
commodity c under row A in the past 6 months</label>
<div class="row">
<div class="col-md-3">
<div class="form-group">
<label> Received </label>
<input type="NUMBER" name="Response_E43" class="form-control" Id="CAB">
</div>
</div>
<div class="row">
<div class="col-md-3">
<label> Not Served % </label>
<input type="readonly" name="Response_E4" class="form-control" id="points" readonly>
</div>
</div>
</div>
<div class="col-md-12">
<label>G. Based on OLMIS priority needs report, how many OVC requested
for commodity c under row A in the past 6 months</label>
<div class="row">
<div class="col-md-3">
<div class="form-group">
<label> Received </label>
<input type="NUMBER" name="Response_E44" class="form-control" Id="CAC">
</div>
</div>
<div class="row">
<div class="col-md-3">
<div class="form-group">
<label> Not Served % </label>
<input type="readonly" name="Response_E4" class="form-control" id="pointed" readonly>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>H. Overall proportion of OVC served with the
listed services within 12 months</label>
<div class="row">
<div class="col-md-3">
<div class="form-group">
<input type="number" name="Response_F4" class="form-control" readonly>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</fieldset>