Главная проблема в том что ни промежуточное h3 функцией calc3, ни итоговое V22 не считаются. h3 должен считаться при клике на поле t49, так как t47, t48-его исходные данные, а готовый результат h3, выдается в поле t49, А V22 должно считаться при клике на кнопку "Вычислить". Помогите пожалуйста. Код: function areaRectangle13(){ this.calc3(); var d10=document.forma1.t43.value||0; var d20=document.forma1.t44.value||0; var d30=document.forma1.t45.value||0; var D1=document.forma1.t46.value||0; var h1=document.forma1.t47.value||0; var h2=document.forma1.t48.value||0; var h3 = 4546-(h1+h2); if ( (d10 == 0) || (d20 == 0) || (d30 == 0) || (h1 == 0) || (h2 == 0) || (h3 == 0) ) { alert('Входные данные не могут быть равны 0'); return; } if ( (d10 < 0) || (d20 < 0) || (d30 < 0) || (h1 < 0) || (h2 < 0) || (h3 < 0) ) { alert('Входные данные не могут быть меньше 0'); return; } var V22=0.785*1.04*( (D1*D1-d10*d10)*h1 + (D1*D1-d20*d20)*h2 + (D1*D1-d30*d30)*h3 ); document.forma1.res13.value=V22.toFixed(2); } function calc3() { //в подрасчёте есть промежуточное значение p console.log(1); //пользователь узнает чему равно p, только после ввода p1,p2 и m var h1=document.forma1.t47.value||0; var h2=document.forma1.t48.value||0; var h3 = 4546-(h1+h2); document.forma1.t49[0].value = h1; document.forma1.t49[1].value = h2; document.forma1.t49[2].value = h3; } document.addEventListener("DOMContentLoaded", function (event) { document.forma1.t47.addEventListener("keyup", calc3); document.forma1.t48.addEventListener("keyup", calc3); }); Код: <form name="forma1" style="background-color:#44944A;"> <!-- поменяю цвет формы --> <div id="resizable"> <br> <!--"подрасчёт 4.3"--> <table align="center"> <p align="center">Количество жидкости, необходимое для промывки излишков цементного раствора</p> <tr><td height="40px"> <tr><td height="40px"> <div class="price">Наружний диаметр НКТ, соответственно, 60мм, м;</div><input name="t43" id="t43" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)"> </td> </tr> <tr><td height="40px"> <div class="price">Наружний диаметр НКТ, соответственно,73мм, м;</div><input name="t44" id="t44" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)"> </td> </tr> <tr><td height="40px"> <div class="price">Наружний диаметр НКТ, соответственно,89мм, м;</div><input name="t45" id="t45" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)"> </td> </tr> <tr><td height="40px"> <div class="price">Внутренний диаметр эксплуатационной колонны, м; </div><input name="t46" id="t46" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)"> </td> </tr> <tr><td height="40px"> <div class="price">Длина колонны нижней секции заливочных труб, м;</div><input name="t47" id="t47" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)"> </td> </tr> <tr><td height="40px"> <div class="price">Длина колонны средней секции заливочных труб, м;</div><input name="t48" id="t48" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)"> </td> </tr> <tr><td height="40px"> <div class="price">Длина колонны верхней секции заливочных труб, м;</div><input name="t49" id="t49" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)"> </td> </tr> <tr><td> <input type="button" name="button" value="Вычислить" onClick="areaRectangle13();"> <input type="text" name="res13" size="10"> </td></tr> </table> </div> <br> </form>