Нужна помощь, сломался калькулятор
Создаю собственный сайт на Parallels и хочу сделать калькулятор расчета стоимости http://vm-remont.ru/request-an-estimate/ но что-то где-то пошло не так и теперь он не считает, нужна помощь в исправлении ошибки, и сделать чтоб эта форма мне на почту отправлялась для связи с заказчиком. Заранее благодарю!
|
Выкидывать надо такой калькулятор :)
|
Если его выкинуть, то что вставить взамен? :help:
|
Какой вставить я не знаю, то есть есть ли такой готовый, а вот писать надо не так. Во-первых ваш калькулятор работает постфактум, а не в реальном режиме, так как браузер показывает наличие ошибок в коде только после потере фокуса элементом.
Во-вторых, определять в функции "поголовно" каждый элемент ввода как: var Pol2 = document.getElementById("Pol2"); var Pol3 = document.getElementById("Pol3"); var Pol4 = document.getElementById("Pol4"); var Pol5 = document.getElementById("Pol5"); ..... и var price_Pol2 = 0; var price_Pol3 = 0; var price_Pol4 = 0; var price_Pol5 = 0; совсем не нужно, как и вести расчеты таким способом: .... price_Potolok11 += parseInt(Potolok11.value)*150; price_Potolok12 += parseInt(Potolok12.value)*500; price_Potolok13 += parseInt(Potolok13.value)*450; price_Potolok=price_Potolok1 + price_Potolok2 + price_Potolok3 + price_Potolok4 .... это излишество. Нужно либо обходить коллекцию полей просчитывая сумму, либо поступать иным способом. Обход коллекции циклом можно, но когда их много, то жаба давит зря расходовать ресурсы системы. ) Можно поступать иначе, обрабатывать два события - onkeydown и onkeyup элемента. В обработчике события onkeydown получать значение value элемента, умножая его на цену за услугу им определяемую, получая сумму за эту услугу. Эту сумму вычитать из общей суммы. В обработчике onkeyup тоже самое, но полученную сумму за услугу складывать с общей суммой. В этих обработчиках нужно исключить обработку клавиш стрелка влево/вправо и табуляции. Это будет махонькая функция не требующая объявлений price_Potolok11 и прочих. Насчет оправки почты, тут не понятно зачем это нужно, так как по уму, калькулятор должен считать только для клиента, то есть как уведомление. А на сервер должен отправляться массив данных, как id каждой услуги и выбранное значение для нее. Сервер должен хранить в базе под id услуг их описание и цену за указанную единицу. В базу заказов должны записывать данные заказчика, и параметры его заказа, включая и его дату. На основе полученных данных от клиента, сервер получает из базы цену этих услуг, их описание, и по указанному количеству производит расчет, который и отправляет почтой по указанному пользователем электронному адресу. То есть не только контакты заказчика, но и что он заказал. Или же только контакты заказчика и чего-то там о заказе, но еще и ID заказа, который содержит параметры. Как в этом плане у вас, я не смотрел по коду, но по уму вообще-то делают так. |
Это все замечательно и познавательно, спасибо огромное laimas, но кто и за сколько может это все допилить?
|
Вам нужен калькулятор типа
http://vm-remont.ru/request-an-estimate/ поставить на ваш сайт или это ваш сайт и он перестал работать? Напишите на mshdn@rambler.ru скайп: mshendn попробую помочь. |
Вы или администратор сайта удалили элементы со страницы
поля ввода цены Pol3, Pol18, Sten4, Santeh6, Santeh8, Santeh12 и соответственно по аналогии price_Pol3, price_Pol18, ... result_Pol3, price_Pol18, ... result_PGRG Верните на место или удалите из javascript'a все упоминания. |
Цитата:
Можно написать, но я сейчас занят, а значит могу писать только когда есть время "отдохнуть", то есть в общем не сложную эту работу могу выполнять дня три. :) Ну тут вот охотники есть, "запилят" быстро, лишь бы баксы хрустели. ;) |
Часовой пояс GMT +3, время: 06:51. |