|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.04.2017, 17:58 | #1 |
Форумчанин
Регистрация: 14.10.2016
Сообщений: 406
|
Ошибка расчета по min и max значениям
Инпутам ширина и высота прописаны min и max, если ввести большее число чем min и max с клавиатуры, то происходит расчет введенного числа, хотя ограничение по min и max работает т.е. если ширина min=25, а ввел 20, то расчет будет исходя из введенного значения (20).
Код HTML:
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> </head> <body> <span style="color:#0000FF;font-family:'Times New Roman';font-size:20px;"><strong><em>Ширина, м</em></strong> <strong><em>Высота, м</em></strong></span></div> <br> <input type="number" id="editbox1" onblur="up1(this)" step="0.01"> <input type="number" id="editbox2" onblur="up2(this)" step="0.01"> <br> <div class="minMaxHeight" style="position:absolute; left:100px;"><!--max высота--> <i><strong>Max.</strong><span id="maxHeight"> 0</span>см</i> </div> <div class="minMaxWidth"><!--minmax ширина--> <i><strong>Min.</strong><span id="minWidth"> 0</span>см</i><!--min ширина--> <br> <i><strong>Max.</strong><span id="maxWidth"> 0</span>см</i><!--max ширина--> </div> <select size="1" id="combobox"><!--Системы--> <option value="1">A</option> <option value="2">B</option> <option value="3">C</option> </select> <select size="1" id="combobox1"><!--Системы--> <option value="4">D</option> <option value="5">F</option> <option value="6">G</option> </select> <span id="rezult" style="color:#00FF00;font-family:'Times New Roman';font-size:24px;"><strong><em>Результат</em></strong></span></div> <script> var values = { "1": {wMin: 25, wMax: 30, hMax: 40}, "2": {wMin: 50, wMax: 60, hMax: 70}, "3": {wMin: 80, wMax: 90, hMax: 100}, "4": {wMin: 110, wMax: 120, hMax: 130}, "5": {wMin: 140, wMax: 150, hMax: 160}, "6": {wMin: 170, wMax: 180, hMax: 190} } var wMin, wMax, hMax; var ed1_width, ed2_height; var finish; var calc = 0; wMin = document.getElementById('minWidth'); //min ширина wMax = document.getElementById('maxWidth'); //max ширина hMax = document.getElementById('maxHeight'); //max высота ed1_width = document.getElementById('editbox1'); ed2_height = document.getElementById('editbox2'); finish = document.getElementById('rezult'); var cb = document.querySelector('#combobox'); var cb1 = document.querySelector('#combobox1'); cb.addEventListener("change", myFunc); cb1.addEventListener("change", myFunc); ed1_width.addEventListener("change", calculation); ed2_height.addEventListener("change", calculation); function calculation(){ calc = ed1_width.value * ed2_height.value; finish.innerHTML = calc; } function up1(e) { if (e.value.indexOf(".") != '-1') { e.value=e.value.substring(0, e.value.indexOf(".") + 3); } if(+e.value<+e.getAttribute("min")){ e.value=e.getAttribute("min"); } else if(+e.value>+e.getAttribute("max")){ e.value=e.getAttribute("max"); } } function up2(e) { if (e.value.indexOf(".") != '-1') {e.value=e.value.substring(0, e.value.indexOf(".") + 3);} if(+e.value>+e.getAttribute("max")){e.value=e.getAttribute("max");} } function myFunc () { wMin.textContent = values[this.value].wMin; wMax.textContent = values[this.value].wMax; hMax.textContent = values[this.value].hMax; ed1_width.setAttribute("min", values[this.value].wMin); ed1_width.setAttribute("max", values[this.value].wMax); up1(ed1_width); ed2_height.setAttribute("max", values[this.value].hMax); up2(ed2_height); }; // Как-будто при загрузке страницы поменяли значение первого чекбокса myFunc.apply(cb); </script> </body> </html>
Еду медленно, но верно!
|
11.04.2017, 22:55 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Массивы. Поменять местами все min и max (даже если будет 4 -min и 1-max). | Виталик124 | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 19.02.2014 22:44 |
ошибка в нахождении max и min значений в строке матрицы | kasteton | Помощь студентам | 2 | 07.01.2014 13:50 |
n - массивов, разной размерности, нужно найти min и max в этих массивах. Из полученных min найти наименьший элемент, из max наибол | dmks | Помощь студентам | 5 | 09.10.2013 20:48 |
списке целых чисел все элементы между max и min заменить полусуммой max и min | Roman one | C/C++ Базы данных | 0 | 20.12.2012 12:14 |
Разность max min Си++ Где ошибка? | Медина | Помощь студентам | 18 | 20.04.2009 00:03 |