Автор Тема: Свой калькулятор на JavaScript  (Прочитано 3263 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн HefneR

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 8
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Свой калькулятор на JavaScript
« : 20 Ноября 2005, 16:01:32 »
Нужно написать калькулятор на JavaScript`е. Приминяться он будет на сайте текстильной фабрики (для скрипта интернет магазина) для вычесления цены комплекта (комплекты с постельным бельём).

Имеем:




 


 
 
 
 


 
 
 
 


 
 
 
 


 
 
 
 


 Пододеяльник
 
 
 

 Размер
 

 Количество
 

 Цена
 

 
 

 150x205
 

 
 

   
   

 
 

 180x205
 

 
 

   
   

 
 

 200x205
 

 
 

   
   





Функция для вычисления:

function Calculator() {
   if (document.goods.blanket_size.value = \'150x205\') {
     alert("Вычисляем цену пододеяльника #1");
     var num = document.goods.blanket_num1.value;
     var price = document.goods.blanket_price1.value;
     var blanket_price = num*price;
   }
   if (document.goods.blanket_size.value = \'180x205\') {
     alert("Вычисляем цену пододеяльника #2");
     var num = document.goods.blanket_num2.value;
     var price = document.goods.blanket_price2.value;
     var blanket_price = num*price;
   }
   if (document.goods.blanket_size.value = \'200x205\') {
     alert("Вычисляем цену пододеяльника #3");
     var num = document.goods.blanket_num3.value;
     var price = document.goods.blanket_price3.value;
     var blanket_price = num*price;
   }
   document.goods.price.value = blanket_price;
}


То есть, функция проверяет и анализирует значение выбранного пункта radio и формирует соответствующую цену и количество, перемножает результат, выводит его в поле price.

В чём проблема: функция не анализирует значение radio. Точнее сказать она анализирует не выбранный пункт radio, а все пункты подряд. То есть если нажать на вычислить, появится 3 сообщения alert, вместо одного.

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

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Свой калькулятор на JavaScript
« Ответ #1 : 21 Ноября 2005, 10:48:37 »
Как вариант

<html>
<
head>
<
script>
function 
Calculator() {
   if (
f1.s150x205.checked) {
     
alert("Вычисляем цену пододеяльника #1");
     var 
num document.goods.blanket_num1.value;
     var 
price document.goods.blanket_price1.value;
     var 
blanket_price num*price;
   }
   if (
f1.s180x205.checked) {
     
alert("Вычисляем цену пододеяльника #2");
     var 
num document.goods.blanket_num2.value;
     var 
price document.goods.blanket_price2.value;
     var 
blanket_price num*price;
   }
   if (
f1.s200x205.checked) {
     
alert("Вычисляем цену пододеяльника #3");
     var 
num document.goods.blanket_num3.value;
     var 
price document.goods.blanket_price3.value;
     var 
blanket_price num*price;
   }
   
document.goods.price.value blanket_price;
}

</script>

</head>
<body>
<form name=\'goods\' id=f1 >

<table>
<tr>
 <td colspan=\'4\' align=\'center\'>
 <b>Пододеяльник</b>
 </td>
</tr>
<tr>
 <td> 
 </td>
 <td align=\'center\'>
 Размер
 </td>
 <td align=\'center\'>
 Количество
 </td>
 <td align=\'center\'>
 Цена
 </td>
</tr>
<tr>
 <td width=\'15%\'>
 <input type=\'radio\' name=\'blanket_size\' id=\'s150x205\' checked>
 </td>
 <td>
 150x205
 </td>
 <td align=\'center\'>
 <input type=\'text\' name=\'blanket_num1\' style=\'width: 30px; height: 18px;\' value=\'1\'>
  </td>
  <td align=\'center\'>
   <input type=\'text\' name=\'blanket_price1\' value=\'300\' disabled>
   </td>
</tr>
<tr>
 <td width=\'15%\'>
 <input type=\'radio\' name=\'blanket_size\' id=\'s180x205\' >
 </td>
 <td>
 180x205
 </td>
 <td align=\'center\'>
 <input type=\'text\' name=\'blanket_num2\' style=\'width: 30px; height: 18px;\' value=\'1\'>
  </td>
  <td align=\'center\'>
   <input type=\'text\' name=\'blanket_price2\' value=\'350\' disabled>
   </td>
</tr>
<tr>
 <td width=\'15%\'>
 <input type=\'radio\' name=\'blanket_size\' id=\'s200x205\' >
 </td>
 <td>
 200x205
 </td>
 <td align=\'center\'>
 <input type=\'text\' name=\'blanket_num3\' style=\'width: 30px; height: 18px;\' value=\'1\'>
  </td>
  <td align=\'center\'>
   <input type=\'text\' name=\'blanket_price3\' value=\'400\' disabled>
   </td>
</tr>
</table>
<input type=\'button\' value=\'Вычислить\' onClick=Calculator()>
<input type=\'text\' name=\'price\' disabled>
</form>
Все болезни от нервов, только сифилис от удовольствия

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28