Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> sos, нужен JavaScript 
V
    Опции темы
eximo
Дата 20.2.2009, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 20.2.2009

Репутация: нет
Всего: нет



ищу скрипт (JavaScript) для подсчёта цены объекта определяемого клиентом кликом по одной из пяти заданных картинок (с фиксированной ценой за квадратный метр индивидуально для каждой картинки) и двумя набираемыми клиентом же параметрами (длина/ширина),то есть скрипт должен определить с какой картинки взять цену и помножить её на площадь, получаемую самим скриптом по задаваемым длине/ширине, выдав результат отдельной строкой

ПОМОГИТЕ пожалуйста (если платно, то укажите сколько)
PM MAIL   Вверх
comtat
Дата 21.2.2009, 01:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 7
Всего: 71



Вот, только проверку на вводимые значения не делал, так что буквы не вводите
Код

<html>
<head>
    <title>Calculator</title>

    <style>
        h4 {font-style:italic;}
    </style>
</head>
<script>
function calc() {
    var x = document.getElementById('x');
    var y = document.getElementById('y');
    var cost = document.getElementById('cost');
    
    if (parseInt(x.value) == 0 || parseInt(y.value) == 0) {
        cost.innerHTML = '0';
        return;
    }

    var price = 0;
    for (var i=0; i< 5; i++) {
        if (document.getElementById('p' + (i+1)).checked) {
            price = parseInt(document.getElementById('p' + (i+1)).value);
            break;
        }
    }
    cost.innerHTML = price*x.value*y.value;
}
</script>
<body>
    <div id='error'></div>
    <h4>Цена</h4>
    <input type="radio" id='p1' name="price" value="100" checked> <img src="path"><br />
    <input type="radio" id='p2' name="price" value="33"> picture2<br />
    <input type="radio" id='p3' name="price" value="45"> picture3<br />
    <input type="radio" id='p4' name="price" value="99"> picture4<br />
    <input type="radio" id='p5' name="price" value="6767"> picture5
    <h4>Площадь</h4>
    Высота:&nbsp;<input type='text' id='x' value='0'><br />
    Ширина:&nbsp;<input type='text' id='y' value='0'><br />
    <h4>Стоимость</h4>
    <div><div style="display:inline;" id='cost'>0</div> руб.</div>
    <div style="cursor:pointer;font-weight:bold;" id='button' onclick='calc();'>Рассчитать</div>
</body>
</html>



--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
eximo
Дата 21.2.2009, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 20.2.2009

Репутация: нет
Всего: нет



Огромное спасибо, только теперь остались две проблемы:
1. Скрипт реагирует лишь на стоимость, выраженную в целых числах, а после запятой (менял и на точку) цифр не признаёт
2. Сантиметры нужно вводить через точку, а это хоть и небольшое, но неудобство..

без помощи нерешу
PM MAIL   Вверх
Soah
Дата 21.2.2009, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 512
Регистрация: 18.2.2009

Репутация: 13
Всего: 54



поменяйте parseInt на parseFloat.
PM MAIL   Вверх
eximo
Дата 21.2.2009, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 20.2.2009

Репутация: нет
Всего: нет



спасибо, после замены уже работает с копейками, но запятую в метрах не признаёт.. может в сантиметрах можно размер выразить и так избавиться от дробных чисел (ни точки, ни запятой не понадобится).. это лишь мысль вслух, то есть версия, которую внедрить не умею
PM MAIL   Вверх
eximo
Дата 22.2.2009, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 20.2.2009

Репутация: нет
Всего: нет



В принципе так и решил, - ввёл денежный коофициент 0.0001, а ввод размеров пометил в сантиметрах. Сносно, только результат в цене не округляется и выдаёт после запятой много знаков. Спасибо за подсказки, а если кто знает как решить задачу полностью, прошу сообщить.
PM MAIL   Вверх
Soah
Дата 22.2.2009, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 512
Регистрация: 18.2.2009

Репутация: 13
Всего: 54



Цитата(eximo @  22.2.2009,  13:11 Найти цитируемый пост)
выдаёт после запятой много знаков

Код

cost.innerHTML = (price*x.value*y.value).toFixed(2);

PM MAIL   Вверх
eximo
Дата 22.2.2009, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 20.2.2009

Репутация: нет
Всего: нет



всё чудненько, перевёл даже в милиметры (коофициент цены подкорректировал соответственно) и с помощью указанной строки ограничил после запятой до двух символов. РАБОТАЕТ!

О Г Р О М Н О Е    С П А С И Б О !!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0616 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.