js составление калькулятора
Вложений: 1
Добрый вечер, пол дня ломаю голову над простейшей задачей.:(
По картинке все видно, пытаюсь сделать калькулятор стоимости. Покажите где тут ошибка?) на " var box" не обращать внимание. Подскажите как сделать (исправить)) так чтобы при нажатие кнопки "рассчитать" (<td><input type="button" value="Рассчитать" onclick="calculator_msk(this.form)">) перемножались 2 соответствующие выбранные (select name="numberof" id="numberof" и select name="hours" id="hours" ) цифры из массивов "base" и "time". и ответ записывался в окошко (input name="totalmsk" ) Код:
<script lang="JavaScript"> |
ну так он и перемножает же, в чем проблема то?
|
http://yadi.sk/d/P4T1GmQu2367X файл в хтмл
Проблемы: Если выбрать "формат диска - 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];" и ответ записываться в "Итого". |
Цитата:
Цитата:
вообщем изучайте массивы |
ммм да...
Цитата:
Цитата:
И пример можно было по-путевее сделать. :D Как вариант
<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
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]
];
function calc() {
var tr=document.getElementById('numberof').value;
var ho=document.getElementById('hours').value;
alert(tr+' - '+ho);
tr=base[tr];
ho=time[ho];
alert(tr+' - '+ho);
var rez=tr*ho;
document.getElementById('totalmsk').value=rez;
};
</script>
</head>
<body>
<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">от 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">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">Нет</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="calc();">
<input type="reset" value="Сброс">
</td>
</tr>
<tr>
<td>Итого: </td>
<td><input name="totalmsk" id="totalmsk" type="text" size="8"></td>
</tr>
</tbody>
</table>
</div>
</form>
</body>
</html>
|
SleepWalker15,
base_s = time[format]*base[korobka]; base_s = time[times]*base[korobka]; |
Я имел в виду что если выбрать "Формат диска id="hours" на "option value="1">DVD-R/RW" то цифра 9 из массива time не умножится на любую цифру из массива base.
|
Цитата:
|
Цитата:
Проверяй что пишешь... |
Здравствуйте!
Судя по вашему сообщению, вы ну совсем не знаете javascript. Освойте основы языка и вопрос отпадет сам, полностью или частично. А с чем не справитесь - поможем. На сайте javascript можно начать изучать с учебника, раздел Основы javascript. Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/ Задавайте конкретные вопросы по ходу дела. |
| Часовой пояс GMT +3, время: 01:10. |