Калькулятор в форме
Есть такой калькулятор, точнее форма
<form class="kalk" onsubmit="return false" oninput="summ.value = parseInt(ploshad.value) * parseInt(faktura.value) + parseInt(corner.value)" > <p>Фактура:</p> <select type="text" name="faktura" id="faktura" size="1" onchange="summ.value = parseInt(ploshad.value) * parseInt(faktura.value) + parseInt(corner.value)"> <option selected value="600">Белый матовый</option> <option value="650">Белый сатиновый</option> <option value="650">Белый глянцевый</option> <option value="700">Цветной матовый</option> <option value="700">Цветной сатиновый</option> <option value="700">Цветной глянцевый</option> </select> <p>Площадь комнаты, кв. м.</p> <input type="range" min="1" max="30" step="1" id="ploshad" name="ploshad" value="4" oninput="o.value = parseInt(ploshad.value) " > <p class="output"><output name="o">4</output> </p> <p>Количество углов:</p> <select type="text" name="corner" id="corner" size="1" onchange="summ.value = parseInt(ploshad.value) * parseInt(faktura.value) + parseInt(corner.value)"> <option selected value="400">4</option> <option value="500">5</option> <option value="600">6</option> <option value="700">7</option> <option value="800">8</option> <option value="900">9</option> <option value="1000">10</option> </select> <p class="summa">Стоимость: <output name="summ" id="summa"></output> руб.</p> </form> в действии можно посмотреть здесь: http://potolok2014.ru/ проблема: КАК СДЕЛАТЬ ТАК ЧТОБ ПРИ СУММЕ МЕНЕЕ 5000, В <output name="summ" id="summa"></output> ВСЕ-РАВНО ВЫВОДИЛОСЬ 5000, А ДАЛЬШЕ УЖЕ СЧИТАЛ КАК СЧИТАЕТ СЕЙЧАС? Прошу помощи знатоки... |
iskander83, не смущает что <output> не поддерживается старыми браузерами?
|
это
var summ = ploshad.value * faktura.value + corner.value; summ.value = (summ < 5000) ? 5000 : summ; как я поныл надо в js вставлять? в теории то понятно надо выхватить значениеи поставить условие, а вот как на практике написать? пробую так , но что то не получается $('#ploshad').mouseup(function() { var parent = $(this).parent('form'); _ploshad = $(parent).find('#ploshad'); _summa = $(parent).find('#summa'); ploshad = $(_ploshad).val(); if (ploshad <= 7) alert('!!!!!!!!!!!!!!!!!!!!!!!') else......... |
output не смущает
|
так я понял кое что
$('#ploshad').mouseup(function() { var parent = $(this).parent('form'); _summ = $(parent).find('#summa'); summ = $(_summ).text(); if (summ <= '5000') alert('!!!!!!!!!!!!!!!!!!!!!!!') else summa = ..........; }); summ у нас текстовое значение, у него нет value, теперь надо преобразовать в число... |
полностью убрал вычисления из формы и написал скрипт но не пойму почему выдает NaN
<script> function isCount() { var parent = $(this).parent('form'); _ploshad = $(parent).find('#ploshad'); _faktura = $(parent).find('#faktura'); _corner = $(parent).find('#corner'); ploshad = $(_ploshad).val(); faktura = $(_faktura).val(); corner = $(_corner).val(); summa = (+ploshad * +faktura) + (+corner); itog = ( Math.round(summa) ); if (summa <= 5000) alert(summa) else alert(itog*2) ; }; </script> |
ПРОШУ ПОМОЩИ!!!:help:
|
Так все работает
function isCount() { var parent = $(this).parent('form'); ploshad = $('#ploshad').val(); faktura = $('#faktura').val(); corner = $('#corner').val(); summ = (+ploshad * +faktura) + (+corner); itog = ( Math.round(summ) ); if (summ <= 5000) document.getElementById('summa').innerHTML = 5000; else document.getElementById('summa').innerHTML = summ; ; }; |
Спасибо всем кто помог!
|
Часовой пояс GMT +3, время: 12:28. |