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, время: 04:04. |