И снова калькулятор
Здравствуйте. Есть калькулятор, самопал, примитивный но, основные задачи выполняет. Eсть один нюанс который я не могу решить. При категории "Экспресс" стоимость 1 килограмма должна быть 20 грн. а при категории "Стандарт" 10 грн.
Вот этот скрипт <script language="JavaScript"> <!-- Начало Калькулятора для сайта. Сам сценарий. function calc() { var otk=parseInt(document.getElementById("otk").value); var kuda=parseInt(document.getElementById("kuda").value); var num3=parseInt(document.getElementById("num3").value); var kat=parseInt(document.getElementById("kat").value); var res=document.getElementById("result"); for(var i = 10; i <length; +i) { if([i].checked){ p=p*(parseInt[i].value); document.formSum.showres.value=p; } } function getIndex() { return document.selection.selectedIndex; } res.innerHTML=otk+kuda+num3 + kat*i; } // Остальное идет как пример.--> </script> <table border="0" width="15%" id="table1"> <tr> <td align="center"><p class="calcul_title">Расчет стоимости доставки по Украине</p></td> </tr> <tr> <td> <div class="calcul" style="width: 182px; height: 30px"> <form name="formx"> <p><b><font size="3">Откуда</font></b></p><select input type="text" id="otk" name="otk" onchange="calc(result)" size="1"> <option value="5"> Харьков</option> <option value="5">Белая Церковь</option> <option value="5" >Бердянск</option> <option value="5" >Винница</option> <option value="5" >Горловка</option> <option value="5" >Днепропетровск</option> <option value="5" >Донецк</option> <option value="5" >Житомир</option> <option value="5" >Запорожье</option> <option value="5" >Ивано-Франковск</option> <option value="5" >Измаил</option> <option value="5" >Каменец-Подольский</option> <option value="5" >Киев</option> <option value="5" >Кировоград</option> <option value="5" >Кременчуг</option> <option value="5" >Кривой Рог</option> <option value="5" >Луганск</option> <option value="5" >Луцк</option> <option value="5" >Львов</option> <option value="5" >Макеевка</option> <option value="5" >Мариуполь</option> <option value="5" >Мелитополь</option> <option value="5" >Николаев</option> <option value="5" >Никополь</option> <option value="5" >Одесса</option> <option value="5" >Полтава</option> <option value="5" >Ровно</option> <option value="5" >Севастополь</option> <option value="5" >Симферополь</option> <option value="5" >Сумы</option> <option value="5" >Тернополь</option> <option value="5" >Ужгород</option> <option value="5" >Херсон</option> <option value="5" >Черкассы</option> <option value="5" >Чернигов</option> <option value="5" >Черновцы</option></div> </td> </tr> <tr> <td height="60"> <div class="calcul" style="width: 182px; height: 30px"> <p><b><font size="3">Куда</font></b></p><select input type="text" id="kuda" name="kuda" onchange="calc(result)" size="1"> <option value="25"> Киев</option> <option value="25">Белая Церковь</option> <option value="25" >Бердянск</option> <option value="25" >Винница</option> <option value="25" >Горловка</option> <option value="25" >Днепропетровск</option> <option value="25" >Донецк</option> <option value="25" >Житомир</option> <option value="25" >Запорожье</option> <option value="25" >Ивано-Франковск</option> <option value="25" >Измаил</option> <option value="25" >Каменец-Подольский</option> <option value="25" >Киев</option> <option value="25" >Кировоград</option> <option value="25" >Кременчуг</option> <option value="25" >Кривой Рог</option> <option value="25" >Луганск</option> <option value="25" >Луцк</option> <option value="25" >Львов</option> <option value="25" >Макеевка</option> <option value="25" >Мариуполь</option> <option value="25" >Мелитополь</option> <option value="25" >Николаев</option> <option value="25" >Никополь</option> <option value="25" >Одесса</option> <option value="25" >Полтава</option> <option value="25" >Ровно</option> <option value="25" >Севастополь</option> <option value="25" >Симферополь</option> <option value="25" >Сумы</option> <option value="25" >Тернополь</option> <option value="25" >Ужгород</option> <option value="25" >Херсон</option> <option value="25" >Черкассы</option> <option value="25" >Чернигов</option> <option value="25" >Черновцы</option></div> </td> </tr> <tr> <td> <div class="calcul" style="width: 182px; height: 30px"> <p><b><font size="3">Категория</font></b></p> <select input type="text" id="num3" name="num3" onchange="calc(result)" size="1"> <option value="0">Стандарт</option> <option value="-10">Эконом</option> <option value="40">Экспресс</option> </select></div></td> </tr> <tr> <td height="80"> <div class="calcul" style="width: 182px; height: 30px"> <p><b><font size="3">Вес, <input type="text" id="kat" name="kat" onchange="calc(result)" value=""size="15" tabindex="0,1"> кг</font></b></p></div></td> </tr> </table> <selekt><b><font size="3">Стоимость = <span id="result"></span><b> грн.</font></b><br> <p> </p> А здесь рабочий вариант. http://archides.ho.ua/calculator.htm Если в выборку категории num3 задать умножить на 2 "*2" он выдает ошибку, хотя + или - работает. |
по ссылке все прекрасно работает
PS Цитата:
его вполне можно уменьшить без ущерба |
function calc(arg) { var otk=parseInt(document.getElementById("otk").value); var kuda=parseInt(document.getElementById("kuda").value); var num3=parseInt(document.getElementById("num3").value); var kat=parseInt(document.getElementById("kat").value); var res=document.getElementById("result"); for(var i = 10; i < length; +i){ if([i].checked){ p=p*(parseInt[i].value); document.formSum.showres.value=p; } } function getIndex() { return document.selection.selectedIndex; } if(arg=="kat") res.innerHTML=(otk+kuda+num3)+(kat*2); } <input type="text" id="kat" name="kat" onchange="calc(this.name)" value=""size="15" tabindex="0,1"> не знаю может так ? |
Цитата:
|
Цитата:
<p><b><font size="3">Категория</font></b></p> <select input type="text" id="num3" name="num3" onchange="calc(result)" size="1"> 096 <option value="0">Стандарт</option> 097 <option value="-10">Эконом</option> 098 <option value="40">Экспресс</option> 099 </select></div></td> чтобы было так: <p><b><font size="3">Категория</font></b></p> <select input type="text" id="num3" name="num3" onchange="calc(result)" size="1"> 096 <option value="0">Стандарт</option> 097 <option value="-10">Эконом</option> 098 <option value="*2">Экспресс</option> 099 </select></div></td> и работало |
Часовой пояс GMT +3, время: 18:35. |