Скрипт калькулятора стоимости. Для того, чтобы составить скрипт, нужно уметь складывать, вычитать да умножать. Особой сложности не будет. Примеры в статье приведены на самые разные темы. Но, поскольку их довольно много можно уловить суть действа. Пункты, которые нужно заполнять пользователям. Событие oninput происходит когда элемент меняет своё значение в момент фокуса.
Добавим выпадающий список. Событие onchange происходит когда элемент меняет своё значение на момент потери фокуса. Видно в IE. Поэтому если присутствуют два разных типов input, к которым лучше применить разное событие, выносим скрипт за форму. Добавим чекбокс type="checkbox". Событие onclick происходит при щелчке левой клавишей мышки на элементе.
HTML - код формы для ввода информации представлен ниже. < HTML > HTML - код программы расчета стоимости путевок представлен ниже. < HTML >. Для того, чтобы составить скрипт, нужно уметь складывать, вычитать oninput="kalkulyator()"> <label for="krug">для расчёта площади. Доброе время суток. Нужен калькулятор расчета стоимости шкафов-купе. Аналог(ссылка) Сколько будет стоить и в какие сроки?
На основе этого скрипта. Добавим флажок type="radio". То же самое, что и выше. Проверка на целое число javascript. Столкнулась в этом примере, поскольку года, которые делятся на 4 без остатка.
являются високосными (искл. каждый сотый год, но не каждый четырёхсотый). Условие такое:. parseFloat возвращает дробное число, parseInt возвращает целое число. Смена select в зависимости от установленного флажка.
Помогите, кто может. Нужен скрипт формы с заведенными в нее значениями, выбрав которые, посетитель жмет на кнопку "посчитать" и. В том месте HTML кода вашего сайта где вы хотите, чтобы был показан Если передан этот параметр калькулятор произведёт расчёт стоимости.
35 комментариев:. Baxa Cveridov Спасибо, кратко и понятно! Вопрос Baxa Cveridov Километры и особенно площадь не могут быть отрицательными.
Как можно убрать показ результата когда пользователь выбрал отрицательные цыфры. NMitra Самый простой вариант:.
<input type="number" min="0">. но пока не всеми браузерами поддерживается :( NMitra Позволяет вводить только числа:.
ни букв, ни минусов. Archeton Доброе времени суток! Нужен скрипт калькулятора для внедрения в HTML тело сайта. Пример можно глянуть тут: NMitra Доброе время суток! Что вы хотите от меня? Чтобы я помогла сделать что-то подобное? Тогда покажите что у вас уже есть. Чтобы я сделала сама? Это не будет бесплатно.
FOMUVI Какие классные примеры, спасибо большое. Скоратил php код в разы :-) Аж разуюсь. Один вопросик созрел: у меня сразу в обоих полях есть уже дефолтные значения (рекомендуемые). Но пока я не начинаю вводить изменения хотя бы в 1 поле - результат не выводится. Можно ли сделать, чтобы при загрузки страницы сразу показывался результат? NMitra Так? <input value="я показан сразу"> FOMUVI Я так сразу сделал, думал прокатит, но нет. Если ставлю value изначально, то потом это число не меняется при изменении первого или второго числа.
FOMUVI Даже плейсхолдер "ломает" подсчеты NMitra Приведите постой пример на иначе не понятно FOMUVI Вот код моей формы Объясню просто. Форма, в ней циклом может до 8 таблиц рисоваться. Допустим, что она одна всего (табличка). Я так понимаю, пока php обрабатывает скрипт, Ява уже смотрит, что там, а там ещё нет значений и пока ничего не выдает,так. -) А когда начинаю щёлкать - уже срабатывает. Нашел совет, типа поставить скрипт в конец, после формы.
Но ничего, к сожалению, не изменилось - пусто при загрузке страницы. NMitra Перекидывать значения php и javascript можно с помощью new XMLHttpRequest(). Простой пример. Я бы передавала в JS значения, а с помощью JS делала подсчёты.
FOMUVI Может дело в другом? Ведь при нажатии всё начинает считаться верно. Для простоты я сохранил ваш первый пример в HTML, для каждого поля ввёl value. Теперь в полях отображается сразу длина 10, ширина 5, но площадь НЕ отображается (просто пусто), пока не начинаю изменять цифры в полях - тогда появляются цифры. FOMUVI NMitra, ваша отзывчивость дороже золота :-) спасибо большое. Решение найдено.
Заметил по примеру с выпадающим списком, что там внутри output есть изначально единица (да что угодно), а после нажатий она затирается на нужное значение. Это же класс, это выход.
С помощью PHP формулу туда вставил, потому страница загрузилась, а там уже результат! А в ява такая же формула, потому нажал кнопку и как надо изменилось :-) В общем, благодаря нескольким строкам на яве удалил одну страницу PHP. NMitra Кажется я поняла что вы хотите добиться. Сравните. То есть в первом случае функция исполняется после какого-то действия. Во-втором, после загрузки страницы или выполнения какого-то действия (нажатия, фокуса, изменения значения и т.
) FOMUVI Второй вариант самый подходящий :-) спасибо! Доделал. Пошёл дальше читать ваши уроки. Анонимный Спасибо за урок.
А не подскажите, как правильно использовать функцию math. ceil? Использую её в скрипте: function insertTotal() if (edizm. value=="1") var per=id. value /dltr; var perr= math. ceil(parseFloat(per)); var count = perr*dltr* vespm;. total. innerHTML = 'Эквивалентно: ' + count +'тн'; > else var count = id.
value / vespm;. total.
innerHTML = 'Эквивалентно: ' + count +'пм' ;> > > Но она не работает, результат не выводится. Может подскажите, что не так? NMitra А расскажите что именно вы хотите добиться (если при этом выложите код на будет совсем хорошо) Анна Спасибо огромнейшее. Очень помогли! Уже не первый раз ваш сайт выручает, все по полочкам разложено, как раз для новичков, таких, как я)) NMitra Благодарю за комментарий! Сейчас уже не так хорошо получается - знания мешают :( Когда сама новичок и пишешь для новичков, как ни странно, проще. Потом невольно упускаешь важные детали. Unknown Спасибо! Очень полезные примеры.
А не подскажете, как вот еще сохранить полученный результат? document. getElementById('rezultat1'). innerHTML = rezultat1; NMitra Локальное хранилище или PHP, например, file_get_contents, или вытягивать из БД при загрузке Tatiana Bokareva Спасибо, сейчас попытаюсь донести свою мысль. вот кусочек скрипта. function changeText() var bill1 = 0; var bill = 0; var fullbill = 0; var fullbill1 = document. getElementById('fullbill1').
value; var firstAccount = document. getElementById('firstAccount'). options[document.
getElementById('firstAccount'). selectedIndex]. value; var firstPc = document. getElementById('firstAccount'). options[document. getElementById('firstAccount'). selectedIndex].
id;. bill1 = parseFloat(fullbill1); bill1 = bill1-bill1*parseFloat(firstPc)/100; bill = bill1; fullbill = parseFloat(fullbill1);. document. getElementById('bill1'). innerHTML = bill1; document. getElementById('bill').
innerHTML = bill; document. getElementById('fullbill'). innerHTML = fullbill;. а вот процедура выбора:. и в идеальном варианте, мне бы куда-нибудь приткнуть hidden поле ввода для , не могу придумать, как сделать, чтобы оно заполнялось полученным значением. А дальше я его уже сохраню при помоpщи php Tatiana Bokareva н-да.
что-то не опубликовалась Tatiana Bokareva вот она: NMitra Эх, всё равно не поняла, так. Tatiana Bokareva Ага. Сейчас попробую, спасибо! Tatiana Bokareva Не сохраняется оно.
Сейчас попробую прояснить. В форме происходит 3 вещи: 1 - вводится сумма fullbill1, 2 - выбирается дисконт: $account1. 3 - считается сумма с дисконтом bill1. Ну там помимо этого считаются итоги, но это не критично. При этом замечательно сохраняются только 2 параметра: fullbill1, - как введенное пользователем число <input class.
account1, - как результат выбора <select. а как сохранить при записи документа bill1 я не понимаю (( NMitra Скрипт на load вешайте. При загрузке страницы он заново будет просчитывать.
Самый простой вариант отработки функции при загрузки страницы и при нажатии кнопки https://jsfiddle. net/NMitra/nrwzxzou/.
document. getElementById('dva'). onclick = raz; raz(); function raz() alert(1+2); >.
Есть ещё вариант но я бы в данном случае использовала первый (если правильно поняла проблему). Tatiana Bokareva Попробую с local storage.
Мне кажется, первый вариант немного про другое, т. число вводится пользователем уже после открытия страницы.
Спасибо за помощь! )) Tatiana Bokareva В общем я поняла, что у меня так и не получилось выразить свою мысль ))) Заполнение поля сделала вот так:. var hidden_ac = $('. form-autocount input[name="bill1"]'); $('.
form-autocount input[name="bill1"]'). val(bill1);. NMitra Главное, что всё что хотелось, удалось :) Тимур Сарсембаев Здравствуйте. Просьба подсказать решение. Нужно сделать простой калькулятор, но вот знаний не хватает.
Налоговый режим Упрощенный < input type="radio" id="inpX" checked="checked" value="5000"/> Общеустановленный < input type="radio" id="inpY" value="10000"/> Кассовый аппарат Да < input type="radio" id="inpX" checked="checked" value="10000"/> Нет < input type="radio" id="inpY" value="0"/> < button id="btnRun">Рассчитать < span id="spnResult">. < script type="text/javascript"> function calculate() if document. getElementById('inpX'). checked) var z = input[document. getElementById('inpX').
selectedIndex]. value; if document. getElementById('inpY'). checked) var z = input[document. getElementById('inpY').
selectedIndex]. value; if document. getElementById('inpA'). checked) var a = input[document.
getElementById('inpA'). selectedIndex]. value; if document. getElementById('inpB'). checked) var a = input[document. getElementById('inpB').
selectedIndex]. value; var spnResult = document. getElementById('spnResult'); var r = z+a; spnResult. innerHTML = r; >. window. onload = function() var btnRun = document.
getElementById('btnRun'); btnRun. onclick = calculate; > Тимур Сарсембаев Решение нашел. Извините, возможность оставить комментарий временно не доступна. На ранее оставленные я постараюсь ответить в ближайшее время.