NaN при вычислениях
"Это" должен получиться калькулятор расчета количества кирпичей для постройки дома. Не считает последний параметр "vsegokirpichei". "result" (количество кирпичей в 1м2 кладки) получаем из таблицы и умножаем на площадь стен дома (ploshadsten - ploshadproemov). Приму любую помощь, как с последним параметром, так и в целом по коду.
<script> onload = function () { function mySelect () { if (!!s1.selectedIndex && !!s2.selectedIndex) { t.rows [s2.selectedIndex].cells [s1.selectedIndex].style.backgroundColor = 'lime'; r.innerHTML = t.rows [s2.selectedIndex].cells [s1.selectedIndex].innerHTML; } } var t = document.getElementById ('tbl'); var r = document.getElementById ('result'); var s1 = document.getElementById ('first'); var s2 = document.getElementById ('second'); for (var j = 1; j < t.rows [0].cells.length; j++) { var op = document.createElement ('option'); op.text = t.rows [0].cells [j].innerHTML; s1.options.add (op); } for (var j = 1; j < t.rows.length; j++) { var op = document.createElement ('option'); op.text = t.rows [j].cells [0].innerHTML; s2.options.add (op); } s1.onchange = mySelect; s2.onchange = mySelect; } </script> <body> <table cellpadding="4" border id="tbl"> <tr><th>кирпич/кладка</th> <th>Евро</th> <th>Одинарный</th> <th>Полуторный</th> <th>Двойной</th> </tr> <tr><th>Пол кирпича</th> <td>51</td> <td>51</td> <td>39</td> <td>26</td> </tr> <tr><th>Кирпич</th> <td>141</td> <td>102</td> <td>78</td> <td>52</td> </tr> <tr><th>Полтора кирпича</th> <td>192</td> <td>153</td> <td>117</td> <td>78</td> </tr> <tr><th>Два кирпича</th> <td>282</td> <td>204</td> <td>156</td> <td>104</td> </tr> <tr><th>Два с половиной кирпича</th> <td>332</td> <td>255</td> <td>195</td> <td>130</td> </tr> </table> <hr> <p> <select id="first"> <option>Размер кирпича</option> <option>Евро</option> <option>Одинарный</option> <option>Полуторный</option> <option>Двойной</option> </select> <select id="second"> <option>Вид кладки</option> <option>Пол кирпича</option> <option>Кирпич</option> <option>Полтора кирпича</option> <option>Два кирпича</option> <option>Два с половиной кирпича</option> </select> <input type="text" id="dlinasten" value="" placeholder="укажите длину стен по периметру"> <input type="text" id="visotasten" value="" placeholder="укажите высоту стен"> <input type="text" id="shirinaokna" value="" placeholder="укажите ширину окна"> <input type="text" id="visotaokna" value="" placeholder="укажите высоту окна"> <input type="text" id="vsegookon" value="" placeholder="укажите количество окон"> <input type="text" id="shirinadveri" value="" placeholder="укажите ширину двери"> <input type="text" id="visotadveri" value="" placeholder="укажите высоту двери"> <input type="text" id="vsegodverei" value="" placeholder="укажите количество дверей"> </p> <div id="result"> </div> <button onClick="raschitat();">Рассчитать</button> <div id="ploschadsten"></div> <div id="ploshadproemov"></div> <div id="vsegokirpichei"></div> <script type="text/javascript"> function raschitat() { dlinasten = document.getElementById('dlinasten').value; visotasten = document.getElementById('visotasten').value; shirinaokna = document.getElementById('shirinaokna').value; visotaokna = document.getElementById('visotaokna').value; vsegookon = document.getElementById('vsegookon').value; shirinadveri = document.getElementById('shirinadveri').value; visotadveri = document.getElementById('visotadveri').value; vsegodverei = document.getElementById('vsegodverei').value; result = document.getElementById('result').value; { ploschadsten = parseFloat (dlinasten)* parseFloat (visotasten); document.getElementById('ploschadsten').innerHTML = "Площадь стен равна: "+ ploschadsten +" м2"; ploshadproemov = parseFloat (shirinaokna)* parseFloat (visotaokna)* parseFloat (vsegookon)+ parseFloat (shirinadveri)* parseFloat (visotadveri)* parseFloat (vsegodverei) ; document.getElementById('ploshadproemov').innerHTML = "Площадь проемов равна: "+ ploshadproemov +" м2" vsegokirpichei = Math.ceil((ploschadsten - ploshadproemov) * parseFloat (result)); document.getElementById('vsegokirpichei').innerHTML = "Итого потребуется: "+ vsegokirpichei +" шт."; } } </script> |
result = document.getElementById('result').value;
не работает для div используйте для получения текста например document.getElementById('result').textContent |
Спасибо большое!
|
Часовой пояс GMT +3, время: 05:17. |