Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: On-Line Расчет (калькулятор)
 
 автор: maxfade   (07.08.2008 в 14:49)   письмо автору
 
 

Подскажите как сделать On-Line расчет стоимости.

Задача:

Есть товар:
1 - Шоколад / 17 руб. за шт.
2 - Суп / 22 руб. за шт.
3 - Конфеты / 40 руб. за шт.

Необходимо, чтобы при вводе в Input цифрового значения количества товара, автоматически онлайн выводилась стоимость.

Пример:

Позиция (input) в которой вводиться: цифра, справ от этого поля выводиться сумма по формуле:

Макс. стоимость = цифра(из input)*15

Ниже:

Шоколад__|__1__| <--- Поле <input>
Суп______|__3__| <--- Поле <input>
Конфеты__|__2__| <--- Поле <input>


Ниже позиция в которую выводиться общая стоимость, т.е.

Стоимость = 1(кол-во шоколада)*17(цена шоколада) + 3*22 + 2*40 = 163 руб.

И если Стоимость больше Макс. стоимость, то выводиться предупреждение.

  Ответить  
 
 автор: DEM   (07.08.2008 в 15:07)   письмо автору
 
   для: maxfade   (07.08.2008 в 14:49)
 

Просто обрабатываете все текстовые поля циклом FOR,смотрите их значения и умнажаете...

  Ответить  
 
 автор: maxfade   (07.08.2008 в 15:23)   письмо автору
 
   для: DEM   (07.08.2008 в 15:07)
 

Небольшой пример скрипта можете показать?

Я просто не очень разбираюсь в Javascript :(

  Ответить  
 
 автор: coloboc66   (07.08.2008 в 15:31)   письмо автору
 
   для: maxfade   (07.08.2008 в 15:23)
 

Ну вот самый элементарный код:
Banane: 5 Usd for one <input id="0" type=text onkeyup=func(this.value,this.id,5) />
<span id="span0"></span> 
<br/>
Lemone: 3 Usd for one <input id="1" type=text onkeyup=func(this.value,this.id,3) />
<span id="span1"></span>
<script>
function func(val,id,cost)
{
document.getElementById('span'+id).innerHTML=val*1*cost;
}
</script>

  Ответить  
 
 автор: maxfade   (07.08.2008 в 15:51)   письмо автору
 
   для: coloboc66   (07.08.2008 в 15:31)
 

А как в этом примере сделать вывод общей стоимости не в отдельный <span id="span..."></span> для каждого input, а в один.

Т.е. чтобы при добавлении значений в inputы , в <span id="span..."></span> выводилась общая стоимость посчитанная со всех inputов?

  Ответить  
 
 автор: coloboc66   (07.08.2008 в 16:15)   письмо автору
 
   для: maxfade   (07.08.2008 в 15:51)
 


Banane: 5 Usd for one <input id="0" type=text onkeyup=func(this.value,this.id,5) />
<span id="span0" style="display:none"></span> 
<br/>
Lemone: 3 Usd for one <input id="1" type=text onkeyup=func(this.value,this.id,3) />
<span id="span1" style="display:none"></span><br/>
<span id="cost_"></span>
<script>
function func(val,id,cost)
{
document.getElementById('span'+id).innerHTML=val*1*cost;
var cost_=0;
var span=document.getElementsByTagName('span');
for (i=0;i<span.length-1;i++) cost_+=Number(span[i].innerHTML);
document.getElementById('cost_').innerHTML=cost_;
}
</script>

Предупреждаю: этот просто пример, чтоб иметь понятие. По-серьёзному лично я бы делал без span-ов. Просто лень долго думать. Может кому-то другому не будет лень.
И вообще это надо делать на серверном языке, чтобы проверять корректность введенных данных.

  Ответить  
 
 автор: Usta   (07.08.2008 в 22:37)   письмо автору
9.7 Кб
 
   для: coloboc66   (07.08.2008 в 16:15)
 

Разбирайтесь. Только учтите там есть одно "НО" Все элементы должны идти по порядку начиная "0", иначе не будет работать.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования