Программирование > JavaScript & JScript
Свой калькулятор на JavaScript
(1/1)
HefneR:
Нужно написать калькулятор на 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.:
Как вариант
<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>
Навигация
Перейти к полной версии