Всем привет! Эти грабли никак не удаётся обойти:
Код работает, однако на опции 5% и 6 месяцев даёт колбасу из знаков после запятой. Перебрал уйму вариантов, вплоть до toFixed(2) именно под эту опцию, - не удаётся пройти проверку.
<body>
<form name="deposit">
<label for="initial">Initial sum ($)</label>
<input type="number" name="initial" id="initial">
<label for="period">Period (month)</label>
<select name="period" id="period">
<option value="0">Select period (month)</option>
<option value="3">3 months</option>
<option value="6">6 months</option>
<option value="12">12 months</option>
</select>
<label for="program">Program (%)</label>
<select name="program" id="program">
<option value="0">Select program</option>
<option value="4.5">Saving deposit program - 4.5%</option>
<option value="5">Deposit Universal - 5%</option>
</select>
<h2>You will get ($): <span>0</span></h2>
</form>
<script>
const form = document.forms.deposit;
form.addEventListener('input', () => {
const initial = Number(form.elements.initial.value);
const period = Number(form.elements.period.value);
const program = Number(form.elements.program.value);
const result = document.querySelector('span');
result.innerHTML = initial * (1 + (program / 100) * (period / 12));
});
</script>
</body>