Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не работает Калькулятор просчета отопления (https://javascript.ru/forum/misc/45338-ne-rabotaet-kalkulyator-proscheta-otopleniya.html)

igor700 24.02.2014 16:35

Не работает Калькулятор просчета отопления
 
Доброго времени суток.
Стал делать калькулятор точнее переделывать калькулятор по расчету кондиционирования на отопление. На кондиционировании работает, на его базе сделал совсем маленький калькулятор для расчета электро-автомата тоже работает.
Привожу скрипт, может кто сталкивался или есть идеи. Ничего не считает и даже не выводит сообщение, что данные не заполнены.
*********************************************

<script type="text/javascript">// <![CDATA[
function calculate() {
var K1 = document.getElementsByName("okna")[0].value;
var K2 = document.getElementsByName("steni")[0].value;
var K3 = document.getElementsByName("oknapol")[0].value;
var K4 = document.getElementsByName("temp")[0].value;
var K5 = document.getElementsByName("narsteni")[0].value;
var K6 = document.getElementsByName("pomnad")[0].value;
var K7 = document.getElementsByName("visota")[0].value;
var S = document.getElementsByName("plowad")[0].value;
var power = (100 * S * K1 * K2 *K3 * K4 * K5 * K6 * K7);

if(check(["okna", "steni", "oknapol", "temp", "narsteni", "pomnad", "visota", "plowad"])){
document.getElementsByName("moshnost")[0].value = power;
}
}

function check(elems){
var f = true;
for(var i = 0; i < elems.length; i++){ if(document.getElementsByName(elems[i])
[0].value == ""){ alert("Пожалуйста, заполните все поля!"); f = false;
break; } } return f; }
// ]]></script>

&nbsp;

&nbsp;
<table style="width: 500px;" border="3" cellspacing="1" cellpadding="3" bgcolor="#0099FF">
<caption><strong>Расчет отопления</strong></caption>
<thead>
<tr>
<td>
<h3><strong>Окна </strong></h3>
</td>
<td>
<select name="K1" size="1">
<option value="0.85">Тройной стекло пакет</option>
<option value="1">Двойной стекло пакет</option>
<option value="1.27">Обычное (двойное) остекление</option></select></td>
</tr>
</thead>
<tbody>
<tr>
<td>
<h3><strong>Стены</strong></h3>
</td>
<td>
<select name="K2" size="1">
<option value="0.85">Хорошая изоляция</option>
<option value="1">Кирпич или утеплитель 150мм</option>
<option value="1.27">Плохая изоляция</option></select></td>
</tr>
<tr>
<td>
<h3><strong>Соотношение площадей окон и пола </strong></h3>
</td>
<td>
<select name="K3" size="1">
<option value="0.8">10%</option>
<option value="0.9">20%</option>
<option value="1">30%</option>
<option value="1.1">40%</option>
<option value="1.2">50%</option></select></td>
</tr>
<tr>
<td>
<h3><strong>Температура с наружи помещения</strong></h3>
</td>
<td>
<select name="K4" size="1">
<option value="0.7">-10С</option>
<option value="0.9">-15С</option>
<option value="1.1">-20С</option>
<option value="1.3">-25С</option>
<option value="1.5">-30С</option></select></td>
</tr>
<tr>
<td>
<h3><strong>Число стен выходящих наружу </strong></h3>
</td>
<td>
<select name="K5" size="1">
<option value="1.1">Одна</option>
<option value="1.2">Две</option>
<option value="1.3">Три</option>
<option value="1.4">Четыре</option></td>
</tr>
<tr>
<td>
<h3><strong>Тип помещения над рассчитываемым </strong></h3>
</td>
<td>
<select name="K6" size="1">
<option value="0.8">Обогреваемое помещение</option>
<option value="0.9">Теплый чердак</option>
<option value="1">Холодный чердак</option></td></tr>
<tr>
<td>
<h3><strong>Высота помещения</strong></h3>
</td>
<td>
<select name="K7" size="1">
<option value="1">2,5м</option>
<option value="1.05">3,0м</option>
<option value="1.1">3,5м</option>
<option value="1.15">4,0м</option>
<option value="1.2">4,5м</option></td></tr>
<tr>
<td>
<h3><strong>Площадь помещения, м<sup>2</sup> </strong></h3>
</td>
<td>
<div><input type="text" maxlength="4" name="plowad" size="10" /></div>
<div></div></td>
</tr>
<tr>
<td>
<h3><strong>Расчетная мощность системы отопления:</strong></h3>
</td>
<td><input style="border: 2px solid #0066FF; font-weight: bold;" type="text" maxlength="10"
name="moshnost" size="10" value="0" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input onclick="calculate();" type="button" value="Рассчитать
мощность" /></td>
</tr>
</tbody>
</table>
*******************************************

igor700 24.02.2014 16:44

Да кстати вот ка они выглядят
http://www.cooler.od.ua/?page_id=37 - расчет кондиционирования
http://www.cooler.od.ua/?page_id=182 - расчет электро автомата
http://www.cooler.od.ua/?page_id=41 - расчет отопления(не работает)

рони 24.02.2014 18:04

igor700,
пофигу на закрывающие теги - сами как нибудь допишутся у select

igor700 24.02.2014 20:14

Цитата:

Сообщение от рони (Сообщение 299248)
igor700,
пофигу на закрывающие теги - сами как нибудь допишутся у select

Спасибо исправил, но не помогло. Мне кажется проблема в проверке на заполненность полей, сто раз уже все проверил и не пойму что не так.

рони 24.02.2014 20:40

igor700,
это ничего что элементов с такими именами нет
Цитата:

Сообщение от igor700
"okna", "steni", "oknapol", "temp", "narsteni", "pomnad", "visota",

и
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

igor700 26.02.2014 16:18

Спасибо большое


Часовой пояс GMT +3, время: 18:06.