Перейти к содержимому



JS Умножение

#1 Sleepwalker
Sleepwalker
  • Неактивные
  • 204 сообщений
  • Репутация: 3
0

Обновлено 23 января 2013 - 12:57  Отправлено 22 января 2013 - 11:17

Добрый вечер, пол дня ломаю голову над простейшей задачей :) .
По картинке все видно, пытаюсь сделать калькулятор стоимости.
Покажите где тут ошибка?)

на " var box" не обращать внимание.

Подскажите как сделать (исправить)) так чтобы при нажатие кнопки "рассчитать" перемножались 2 соответствующие выбранные (select

name="numberof" id="numberof" и select name="hours" id="hours" )

цифры из массивов "base" и "time".




<script lang="JavaScript">
function calc(format,times,korobka) {
var base =  [1,2,3,4,5,6];
	var time = [2,3];
	var box = [[0,0,0,0,0,0],
				  [0,0,0,0,0,0,],
				  [1,1,1,1,1,2]];
   base_s = time[format]*base[korobka];
   time_s = time[format];
   total = base_s
return total;
}  
function calculator_msk(form) {
format = eval(form.numberof.value);
times = eval(form.hours.value);
korobka = eval(form.center.value);
   form.totalmsk.value = calc(format,times,korobka);
}
</script>
<form>
<div>
<table width="532" border="0" align="center">
  <tbody><tr>
	<td width="256">Тираж CD/DVD дисков</td>
  <td width="260">
   <select name="numberof" id="numberof">
	<option value="0" selected="selected">от 100</option>
	<option value="1">от 200</option>
	<option value="2">от 300</option>
	<option value="3">от 500</option>
	<option value="4">от 700</option>
	<option value="5">от 1000</option>
   </select>
  </td>
</tr>
<tr>
  <td>формат Диска</td>
  <td>
  <select name="hours" id="hours">
<option value="0" selected="selected">CD-R/RW</option>
<option value="1">DVD-R/RW</option>
			  </select></td>
  </tr>
  <tr>
	<td>Коробочка</td>
	<td><select name="center" id="center">
	 <option value="0" selected="selected">Нет</option>
	 <option value="1">CD-box</option>
	 <option value="2">DVD-box</option>
			  </select></td>
  </tr>
  <tr>
	<td></td>
	<td><input type="button" value="Рассчитать" onclick="calculator_msk(this.form)"> <input type="reset" value="Сброс"></td>  </tr>
  <tr>
	<td>Итого: </td>
	<td><input name="totalmsk" type="text" size="8"></td>
  </tr>
</tbody></table>
</div>
</form>

Прикрепленные изображения

  • Помошь.png

 

 

  • 0

#2 Sleepwalker
Sleepwalker
    Topic Starter
  • Неактивные
  • 204 сообщений
  • Репутация: 3

Отправлено 23 января 2013 - 08:32

Чуть не забыл, суть проблемы.

Проблемы:

Если выбрать "формат диска - DVD-R/RW" а не "CD-R/W"

По задумке из "var time = [2,9];" должна цифра "9" умножатся на цифру "1" из "var base = [1,2,3,4,5,6];" и

ответ записываться в "Итого". Что собственно у меня не получилось

Вторая проблема если выбрать значение в

" Тираж CD/DVD дисков" больше 300 то в ответе (итого) будет "NaN"

А по задумке из "var base = [1,2,3,4,5,6];" должна цифра "3" умножатся соответственно на "2" или "0" из

"var time = [2,9];" и ответ записываться в "Итого".
  • 0

#3 yury
yury
  • Пользователь
  • 648 сообщений
  • Репутация: 195

Отправлено 23 января 2013 - 12:38

Sleepwalker, у вас либо индексы массивов перепутаны, должно быть, наверно, так:
  base_s = time[korobka]*base[format];
  time_s = time[korobka];
либо перепутаны размеры массивов: base должно быть 2 элемента, а в time - 6.

А так все нормально умножает.
Если, конечно, не обращать внимание на издевательские имена переменных (которые, видимо, специально придуманы так, чтобы запутать читающего код).
  • 0

#4 Sleepwalker
Sleepwalker
    Topic Starter
  • Неактивные
  • 204 сообщений
  • Репутация: 3

Отправлено 23 января 2013 - 12:57

Нашел уже ошибки. все норм.
Кому интересно могу в лс бросить.
тему можно закрывать).
  • 0


Пользователь месяца
Megoydagi Megoydagi 1-й за Август
Очков активности: 30 4 темы, 8 сообщений, 1 балл репутации
Сайт: bank.net.ru
ТОП самых активных за этот месяц
  • Фотография Vmir
    #1

    Vmir
    Очков активности: 22.5 3 темы, 6 сообщений, 1 балл репутации

  • Фотография BLIK
    #2

    BLIK
    Очков активности: 18 Вне конкурса за определение пользователя месяца

  • Фотография WGN
    #3

    WGN (worldgamenews.com)
    Очков активности: 12 1 тема, 5 сообщений, 1 балл репутации

  • Фотография Totti
    #4

    Totti
    Очков активности: 12 0 тем, 8 сообщений, 1 балл репутации

  • Фотография kuztoday
    #5

    kuztoday
    Очков активности: 10.5 1 тема, 4 сообщения, 1 балл репутации

  • Фотография SergiuS85
    #6

    SergiuS85
    Очков активности: 10.5 2 темы, 1 сообщение, 1 балл репутации

  • Фотография mkreine
    #7

    mkreine (analiz-krovi.net)
    Очков активности: 9 1 тема, 3 сообщения, 1 балл репутации

  • Фотография Megoydagi
    #8

    Megoydagi (bank.net.ru)
    Очков активности: 9 Вне конкурса за определение пользователя месяца

  • Фотография kolver
    #9

    kolver
    Очков активности: 9 1 тема, 3 сообщения, 1 балл репутации

  • Фотография fedornabilkin
    #10

    fedornabilkin (plohoneponyal.ru)
    Очков активности: 7.5 1 тема, 2 сообщения, 1 балл репутации

  • Показать весь ТОП 10

Поддержите форум! =)
Топ 5 участников по репутации

Оформление форума – IPBSkins.ru