Не работает скрипт для вычисления общей прибыли(должно быть сделано без button высчитывать общую прибыль динамически)
<script>
function getProfitResult() {
let profit = document.getElementById("container");
let inputs = profit.getElementsByTagName("input");
let s = 0;
for (let i = 0; i < inputs.length; i++) {
let prodResult = parseInt(inputs[i].value);
s += prodResult;
}
let r = (s * 5) / 100;
let x = s - r;
return x;
}
function onProfitClick() {
let avg = getProfitResult();
document.getElementById("resultProfit").innerText = avg;
}
window.onload = function () {
document.getElementById("container").onchange = onProfitClick;
};
window.onload = function () {
document.getElementById("marksCount").onchange = onMarksCountChange;
};
function createTr(rowNum) {
const tr = document.createElement("tr");
const td = document.createElement("td");
td.innerText = `20${rowNum}`;
tr.appendChild(td);
const td2 = document.createElement("td");
const inp = document.createElement("input");
inp.type = "number";
td2.appendChild(inp);
tr.appendChild(td2);
return tr;
}
function onMarksCountChange() {
const marksCountInp = document.getElementById("marksCount");
const marksCount = parseInt(marksCountInp.value);
const container = document.getElementById("container");
container.innerHTML = "";
for (let i = 0; i < marksCount; i++) {
const new_tr = createTr(i + 17);
container.appendChild(new_tr);
}
}
</script>
HTML:
<p></p>
<label>
Количество лет
<input type="number" id="marksCount" value="3" />
<p></p>
</label>
<table border="2px">
<thead>
<tr>
<th>Год</th>
<th>Размер прибыли</th>
</tr>
</thead>
<tbody id="container">
<tr>
<td>2017</td>
<td>
<input type="number" name="" id="" />
</td>
</tr>
<tr>
<td>2018</td>
<td>
<input type="number" name="" id="" />
</td>
</tr>
<tr>
<td>2019</td>
<td><input type="number" /></td>
</tr>
</tbody>
</table>
<hr />
<label>Налог(5%)</label>
<br />
<label>Общая прибыль за весь период: <span id="resultProfit"></span></label>