Цитата:
|
Хорошо господа, я рад что вы мне помогали, сейчас буду писать все с нуля...
Думаю переписать сам код калькулятора, а тот код с заменой оставить, там в принципе все мне понятно. |
Вот сделал форму, написал инпуты для ввода значений пользователем(тарифы), инпуты для расчета, ну и итог.
Сделал связь, прошелся по коду, должно работать. Подскажите что поменять, что исправить. Почему оно не считает? <form name="test"> Тарифы: <br> <input id="S1" value="0.32300" type="text" onkeyup="Sum" onkeypress="return isNumberKey(event)"> <input id="S2" value="63" type="text" onkeyup="Sum" onkeypress="return isNumberKey(event)"> <br> Расчет: <br> <input id="sS" type="text" onkeyup="Sum" onkeypress="return isNumberKey(event)"> <input id="sE" type="text" onkeyup="Sum" onkeypress="return isNumberKey(event)"> <br> Итог: <br> <input id="sum" readonly="readonly" type="text" onkeyup="Sum"> </form> <script> function isNumberKey(evt) { var charCode = (evt.which) ? evt.which : event.keyCode if (charCode > 31 && (charCode < 43 || charCode > 57)) return false; return true; } </script> <script> function Sum() { if () { document.getElementById('sS').value = sE * S1.toFixed(2); } else if () { document.getElementById('sS').value = sE * S1.toFixed(2); } else if () { var sS = document.getElementById('sS').value; if () { document.getElementById('sE').value = sS / S1.toFixed(2); } else if () { document.getElementById('sE').value = sS / S2.toFixed(2); } } var s = 0; var sum = 0; if (document.getElementById('sS').value != null) { s = document.getElementById('sS').value; } sum = parseFloat(Number(s)); document.getElementById('sum').value = parseFloat(sum).toFixed(2); } </script> |
dark_mc,
а почему в if-ах нету условий?) |
Вот, перепробовал все связи, ставил условие, не пашет и все, что я не правильно делаю в if? помогите пожалуйста.
<form name="test"> Тарифы: <br> <input id="S1" value="0.32300" type="text" onkeyup="Summ" onkeypress="return isNumberKey(event)"> <input id="S2" value="63" type="text" onkeyup="Summ" onkeypress="return isNumberKey(event)"> <br> Расчет: <br> <input id="sS" type="text" onkeyup="Summ" onkeypress="return isNumberKey(event)"> <input id="sE" type="text" onkeyup="Summ" onkeypress="return isNumberKey(event)"> <br> Итог: <br> <input id="sum" readonly="readonly" type="text" onkeyup="Summ" onkeypress="return isNumberKey(event)"> </form> <script> function isNumberKey(evt) { var charCode = (evt.which) ? evt.which : event.keyCode if (charCode > 31 && (charCode < 43 || charCode > 57)) return false; return true; } </script> <script> function Summ(index) { if (test) { document.getElementById('sS').value = sE * S1.toFixed(2); } else if (test) { document.getElementById('sS').value = sE * S1.toFixed(2); } else if (index) { var sS = document.getElementById('sS').value; if (test) { document.getElementById('sE').value = sS / S1.toFixed(2); } else if (test) { document.getElementById('sE').value = sS / S2.toFixed(2); } } var s = 0; var sum = 0; if (document.getElementById('sS').value != null) { s = document.getElementById('sS').value; } sum = parseFloat(Number(s)); document.getElementById('sum').value = parseFloat(sum).toFixed(2); } </script> П.С. Я знаю что в иф не надо (test) писать. |
dark_mc,
<form oninput="calc(this)"> <fieldset> <legend>Электричество</legend> <label>Тариф, руб./кВт*ч: <input type="text" name="svetTarif" value="0"></label> <label>Расход, кВт*ч: <input type="text" name="svetRashod" value="0"></label> <label>Расчет, руб.: <input type="text" name="svetRaschet" value="0" readonly></label> </fieldset> <fieldset> <legend>Отопление</legend> <label>Тариф, руб./м2: <input type="text" name="teploTarif" value="0"></label> <label>Площадь, м2: <input type="text" name="teploPloshad" value="0"></label> <label>Расчет, руб.: <input type="text" name="teploRaschet" value="0" readonly></label> </fieldset> <fieldset> <legend>Итого</legend> <input type="text" name="Itogo" value="0" readonly> руб. </fieldset> </form> <script> function calc(form) { form.svetRaschet.value = (form.svetTarif.value * form.svetRashod.value).toFixed(2); form.teploRaschet.value = (form.teploTarif.value * form.teploPloshad.value).toFixed(2); form.Itogo.value = (+form.svetRaschet.value + +form.teploRaschet.value).toFixed(2); } </script> |
Rise, весьма Вам благодарен. Даже как то не по себе, что код на столько мал и я не смог его решить вот таким способом. Буду учиться.
|
Часовой пояс GMT +3, время: 21:50. |