Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.04.2011, 11:10
Новичок на форуме
Отправить личное сообщение для novnick Посмотреть профиль Найти все сообщения от novnick
 
Регистрация: 12.04.2011
Сообщений: 3

И снова калькулятор
Здравствуйте. Есть калькулятор, самопал, примитивный но, основные задачи выполняет. 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">Вес,&nbsp;<input type="text" id="kat" name="kat" onchange="calc(result)" value=""size="15" tabindex="0,1">&nbsp;кг</font></b></p></div></td>
</tr>
</table>
<selekt><b><font size="3">Стоимость = <span id="result"></span><b>
&nbsp;грн.</font></b><br>
&nbsp;<p>&nbsp;</p>

А здесь рабочий вариант.
http://archides.ho.ua/calculator.htm
Если в выборку категории num3 задать умножить на 2 "*2" он выдает ошибку, хотя + или - работает.

Последний раз редактировалось novnick, 12.04.2011 в 11:44.
Ответить с цитированием
  #2 (permalink)  
Старый 12.04.2011, 11:36
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

по ссылке все прекрасно работает
PS
Цитата:
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
PPS И незачем размещать такую огромную кучу кода на форум.
его вполне можно уменьшить без ущерба
Ответить с цитированием
  #3 (permalink)  
Старый 12.04.2011, 11:44
Аватар для eval
Интересующийся
Отправить личное сообщение для eval Посмотреть профиль Найти все сообщения от eval
 
Регистрация: 04.11.2010
Сообщений: 19

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">

не знаю может так ?

Последний раз редактировалось eval, 12.04.2011 в 11:49.
Ответить с цитированием
  #4 (permalink)  
Старый 12.04.2011, 11:48
Новичок на форуме
Отправить личное сообщение для novnick Посмотреть профиль Найти все сообщения от novnick
 
Регистрация: 12.04.2011
Сообщений: 3

Сообщение от Gvozd Посмотреть сообщение
по ссылке все прекрасно работает
PS

PPS И незачем размещать такую огромную кучу кода на форум.
его вполне можно уменьшить без ущерба
Спасибо за замечание.
Ответить с цитированием
  #5 (permalink)  
Старый 12.04.2011, 12:07
Новичок на форуме
Отправить личное сообщение для novnick Посмотреть профиль Найти все сообщения от novnick
 
Регистрация: 12.04.2011
Сообщений: 3

Сообщение от eval Посмотреть сообщение
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">

не знаю может так ?
не работает. В общем надо только в выборке заставить делать умножение на 2 вот здесь:
<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>

и работало
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Калькулятор + форма заказа jkdl Элементы интерфейса 8 15.09.2012 14:10
калькулятор стоимости (где поправить) Mexis Общие вопросы Javascript 2 29.11.2010 16:03
Сделать калькулятор на сайт. asderru Работа 1 22.07.2010 13:46
Калькулятор работает ТОЛЬКО в ie6 (вопрос ламера) st_sinner Javascript под браузер 3 17.04.2010 18:11
Калькулятор ошибка подсчета суммы Aquarius Общие вопросы Javascript 3 05.04.2010 14:09