Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.05.2015, 19:03
Новичок на форуме
Отправить личное сообщение для smnik Посмотреть профиль Найти все сообщения от smnik
 
Регистрация: 15.05.2015
Сообщений: 3

Нужна помощь, сломался калькулятор
Создаю собственный сайт на Parallels и хочу сделать калькулятор расчета стоимости http://vm-remont.ru/request-an-estimate/ но что-то где-то пошло не так и теперь он не считает, нужна помощь в исправлении ошибки, и сделать чтоб эта форма мне на почту отправлялась для связи с заказчиком. Заранее благодарю!
Ответить с цитированием
  #2 (permalink)  
Старый 16.05.2015, 07:23
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Выкидывать надо такой калькулятор
Ответить с цитированием
  #3 (permalink)  
Старый 16.05.2015, 08:22
Новичок на форуме
Отправить личное сообщение для smnik Посмотреть профиль Найти все сообщения от smnik
 
Регистрация: 15.05.2015
Сообщений: 3

Если его выкинуть, то что вставить взамен?
Ответить с цитированием
  #4 (permalink)  
Старый 16.05.2015, 08:45
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Какой вставить я не знаю, то есть есть ли такой готовый, а вот писать надо не так. Во-первых ваш калькулятор работает постфактум, а не в реальном режиме, так как браузер показывает наличие ошибок в коде только после потере фокуса элементом.
Во-вторых, определять в функции "поголовно" каждый элемент ввода как:

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 заказа, который содержит параметры.

Как в этом плане у вас, я не смотрел по коду, но по уму вообще-то делают так.
Ответить с цитированием
  #5 (permalink)  
Старый 16.05.2015, 10:34
Новичок на форуме
Отправить личное сообщение для smnik Посмотреть профиль Найти все сообщения от smnik
 
Регистрация: 15.05.2015
Сообщений: 3

Это все замечательно и познавательно, спасибо огромное laimas, но кто и за сколько может это все допилить?
Ответить с цитированием
  #6 (permalink)  
Старый 16.05.2015, 11:22
Аспирант
Отправить личное сообщение для mshdn Посмотреть профиль Найти все сообщения от mshdn
 
Регистрация: 22.02.2011
Сообщений: 77

Вам нужен калькулятор типа
http://vm-remont.ru/request-an-estimate/
поставить на ваш сайт
или это ваш сайт и он перестал работать?
Напишите на
mshdn@rambler.ru
скайп: mshendn

попробую помочь.
Ответить с цитированием
  #7 (permalink)  
Старый 16.05.2015, 11:38
Новичок на форуме
Отправить личное сообщение для NC22 Посмотреть профиль Найти все сообщения от NC22
 
Регистрация: 06.03.2011
Сообщений: 2

Вы или администратор сайта удалили элементы со страницы
поля ввода цены
Pol3, Pol18, Sten4, Santeh6, Santeh8, Santeh12
и соответственно по аналогии
price_Pol3, price_Pol18, ...
result_Pol3, price_Pol18, ... result_PGRG

Верните на место или удалите из javascript'a все упоминания.

Последний раз редактировалось NC22, 16.05.2015 в 11:47.
Ответить с цитированием
  #8 (permalink)  
Старый 16.05.2015, 13:39
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от smnik
Это все замечательно и познавательно, спасибо огромное laimas, но кто и за сколько может это все допилить?
Нет, "допиливать" такое я бы не стал, а вот выбросить с удовольствием. )
Можно написать, но я сейчас занят, а значит могу писать только когда есть время "отдохнуть", то есть в общем не сложную эту работу могу выполнять дня три.

Ну тут вот охотники есть, "запилят" быстро, лишь бы баксы хрустели.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь по javascript darklend Общие вопросы Javascript 0 12.01.2014 23:33
Нужна помощь: Slider wheel Alex555 Мобильный JavaScript 0 15.05.2013 18:06
Нужна помощь по слайдеру seoguru Работа 3 28.01.2013 22:02
Матрацный калькулятор - нужна помощь heihachi88 Ваши сайты и скрипты 5 05.03.2011 22:27
нужна помощь dominosoko Серверные языки и технологии 4 14.03.2010 02:17