вопрос по калькулятору для сайта
Здравствуйте! проблема (для меня это пока проблема) такая: пользователь вносит нужные ему размеры зеркала а ему калькулятор считает за кв/м, если пользователь выберет доп.услугу то сумма прибавляется к основной сумме, Но этого не происходит, мой код при выборе услуги без обточки (т.е без услуги) сумма не показывает, показывает только при выборе услуги(но почему в первый раз когда пишешь размеры показывает сумма за кв/м но при изменении то есть если клиент просто решил проверить узнать сумму с услугой, то уже без услуги сумма не показывает
https://codepen.io/tu03422/pen/xxGgqpE . помогите пжлст. |
Сначала исправить ошибку
Uncaught ReferenceError: resultat1 is not defined pen.js:19 |
вот как раз непонятно что за ошибка, я только начинаю js изучать, поможете?
|
Ошибка из за того, что вы используете переменную resultat1, но ни где не определяете ее. Т.е нет ни var resultat1;, ни let resultat1;
|
https://codepen.io/tu03422/pen/xxGgqpE еще раз посмотрите? я исправил как Вы указали ошибки, вроде получается, теперь правильно? так и должно быть? просто я сам не понял суть ошибки.
|
Ну работает. Ошибок не выдает.
А правильно или нет - это вам судить. По мне, так странно, что, когда вводишь только ширину или высоту (одно значение), она выдает уже какую то цену за кв.метр. Зы. Совет на будущее. НЕ ИСПОЛЬЗУЙТЕ placeholder для указания того, что вводится. Ни для названия, ни для формата. Надо использовать label. В таком маленьком примере это не столь принципиально, но представьте, что полей десяток или больше. Человек начинает вводить, а потом хочет уточнить то ли он вводит, а название уже пропало. Тоже касается и форматов. Когда задают placeholder='+7(xxx)xxx-xxx-xx', то начиная вводить можно забыть, нужны там скобки или нет, можно ли пробелы, нужны ли '-'... Что вводится и как вводить должно быть видно всегда. |
спасибо Вам, если Вы еще тут побудете можно еще кое что в продолжении этого проекта покажу?
|
https://codepen.io/tu03422/pen/xxGgqpE еще раз гляньте пожалуйста, я теперь еще одну опцию с услугой добавил,
|
Если я правильно понял смысл, надо так
function calcPrice () { let firstInp = Number(document.querySelector('#a').value); let secondInp = Number(document.querySelector('#b').value); var mirror = 660;// сумма за квадрат зеркала var meter = 140; // сумма за пог.метр обработки краев зеркала(периметр) // формула: (ширина+ширина * высота+высота) (a+2*b+2)*140 var e = document.getElementById("selector-32"); var obtochka = Number(e.options[e.selectedIndex].value); var p = document.getElementById("selector-30"); var picture = Number(p.options[p.selectedIndex].value); if (firstInp && secondInp ) { let rezultat = (firstInp * secondInp) * mirror + (firstInp + secondInp) * 2 * obtochka + (firstInp * secondInp) * picture document.getElementById('rezultat').value = rezultat; }else { document.getElementById('rezultat').value = 0 } }; |
спасибо
|
Часовой пояс GMT +3, время: 02:22. |