I will show an error on the screen, NaN. Help please, I don’t know how to handle it.
/* демо вычисления */ $(function(){ $("#demo7").click(function(){ var m1 = $(".m1").attr("data"); var Pup = $(".pup").attr("data"); var Pzh = $(".pzh").attr("data"); var p = (1+m1)*Pup*Pzh/(Pzh+m1*Pup); if (isNaN(p)) { //производим проверку при делении на нуль, p = 0; //чтобы результат возвращалось бы не NaN, а число 0 } var Ptc=p.toFixed(3); //округлим результат в Демо до десятых var V = $(".v").attr("data"); var G=(Ptc*V)/(1+m1); var Gtc=G.toFixed(2); $(".m1").val(m1); $(".pup").val(Pup); $(".pzh").val(Pzh); $(".p").val(Ptc); $(".v").val(V); $("#g").val(Gtc); }); }); <form name="forma1" style="background-color:#44944A;"> <!-- поменяю цвет формы --> <div id="resizable"> <br> <!--"подрасчёт 3.3"--> <table align="center"> <p align="center">Количество сухого тампонажного цемента</p> <tr><td height="40px"> <div class="price">Жидкостно-цементное отношение;</div><input name="t26" id="t29" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)" class="m1" data="0.5"> </td> </tr> <tr><td height="40px"> <div class="price">Плотность цемента т/м<sup>3</sup>.</div><input name="t27" id="t29" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)" class="pup" data="3.15"> </td> </tr> <tr><td height="40px"> <div class="price">Плотность жидкости затворения, т/м<sup>3</sup>.</div><input name="t28" id="t29" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)" class="pzh" data="1.08"> </td> </tr> <tr><td height="40px"> <div class="price">Плотность тампонажного раствора;</div><input name="t29" id="t29" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)" class="p"> </td> </tr> <tr><td height="40px"> <div class="price">Общий объем тампонажного раствора;</div><input name="t30" id="t30" type="text" align="right" size="4" maxlength="8" onkeyup="return proverka(this)" class="v" data="2.828"> </td> </tr> <tr><td> <input type="button" name="button" value="Вычислить" onClick="areaRectangle8();"> <input type="button" name="button" value="Вычислить Демо" id="demo7"> <input type="text" name="res8" id="g" size="10"> </td></tr> </table> </div> <br> </form> Okay, so I myself fixed my script, and there it was not parseInt that best suited, but parseFloat
Corrected script
/* демо вычисления */ $(function(){ $("#demo7").click(function(){ var m1 = parseFloat($(".m1").attr("data")); var Pup = parseFloat($(".pup").attr("data")); var Pzh = parseFloat($(".pzh").attr("data")); var p = (1+m1)*Pup*Pzh/(Pzh+m1*Pup); var Ptc=p.toFixed(3); //округлим результат в Демо до десятых var V = $(".v").attr("data"); var G=(Ptc*V)/(1+m1); var Gtc=G.toFixed(2); $(".m1").val(m1); $(".pup").val(Pup); $(".pzh").val(Pzh); $(".p").val(Ptc); $(".v").val(V); $("#g").val(Gtc); }); }); And the correct calculations, and with parseInt, it turned out that "

