Javascript.RU

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

Почему калькулятор не считает?
Можно пинать...Но почему он не считает? NaN NaN NaN...Ясно, что лажаю, ясно, что <select> массив... В общем обгуглился до яндекса в печени...

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Калькулятор</title>
<script type="text/javascript">
function abrakadabra(){ 
 var futy_nuty= new Array();
     futy_nuty[0]="30.21";
     futy_nuty[1]="7.8";
     futy_nuty[2]="517.6";
     
 var ku_ku=document.getElementById('opredelis').value;
 var ma_ku=futy_nuty[ku_ku];    
           
 var skoka=document.getElementById('tuta').value; 
 var krex=skoka/ma_ku*8.4; 
 var pex=skoka/ma_ku*11.2;
 var fex=skoka/ma_ku*511.2*1.87;
 document.getElementById('zapoluchi1').value=krex.toFixed(2);
 document.getElementById('zapoluchi2').value=pex.toFixed(2);
 document.getElementById('zapoluchi3').value=fex.toFixed(2);
 }
</script>
<style>
<!--
.stoka       { font-family: Tahoma; font-size: 12pt; color: #000080 }
-->
</style>
</head>

<body>

<br>
<form id="dadudadu" name="dadudadu">
	<div align="center">
		<table border="0" width="500" cellpadding="10">
			<tr>
				<td bgcolor="#B2DFEE"><span class="stoka">Выбери чё нада-та:</span></td>
				<td bgcolor="#B2DFEE" width="200" height="20">
				<select id="opredelis" name="opredelis">
					<option selected="selected" value="edakovo">Чё-нибудь эдаково
					</option>
					<option value="von_tavo">Вон таво</option>
					<option value="net_tavo">Нет таво</option></select></td>
			</tr>
			<tr>
				<td bgcolor="#B2DFEE"><span class="stoka">Скока вешать в граммах?:</span></td>
				<td bgcolor="#B2DFEE" width="200" height="20">
				<input type="text" id="tuta" name="tuta" size="20"></td>
			</tr>
			<tr>
				<td bgcolor="#B2DFEE" colspan="2">
				<input type="button" id="button" name="button" value="Щитать" onclick="abrakadabra();"></td>
			</tr>
			<tr>
				<td bgcolor="#B2DFEE"><span class="stoka">В том-то стока:</span></td>
				<td bgcolor="#B2DFEE" width="200" height="20">
				<input type="text" id="zapoluchi1" name="zapoluchi1" size="20"></td>
			</tr>
			<tr>
				<td bgcolor="#B2DFEE"><span class="stoka">В сём-то стока:</span></td>
				<td bgcolor="#B2DFEE" width="200" height="20">
				<input type="text" id="zapoluchi2" name="zapoluchi2" size="20"></td>
			</tr>
			<tr>
				<td bgcolor="#B2DFEE"><span class="stoka">В попугаях это будет стока:</span> </td>
				<td bgcolor="#B2DFEE" width="200" height="20">
				<input type="text" id="zapoluchi3" name="zapoluchi3" size="20"></td>
			</tr>
			</table>
	</div>
</form>
<br>
<br>
<br>

</body>

</html>
Ответить с цитированием
  #2 (permalink)  
Старый 17.06.2011, 16:14
Интересующийся
Отправить личное сообщение для Demin Посмотреть профиль Найти все сообщения от Demin
 
Регистрация: 08.04.2011
Сообщений: 10

неверная строка
var ku_ku=document.getElementById('opredelis').value;
ты получаешь: edakovo, von_tavo, net_tavo

необходимо же тебе число от 0 до 2
Ответить с цитированием
  #3 (permalink)  
Старый 17.06.2011, 16:14
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Filja
var krex=skoka/ma_ku*8.4;
var pex=skoka/ma_ku*11.2;
var fex=skoka/ma_ku*511.2*1.87;
и что есть skoka?-строка? судя из var skoka=document.getElementById('tuta').value;
а ma_ku=это вообще строка
var futy_nuty= new Array();
futy_nuty[0]="30.21";
futy_nuty[1]="7.8";
futy_nuty[2]="517.6";
если число-то без кавычек

Последний раз редактировалось dmitriymar, 17.06.2011 в 16:16.
Ответить с цитированием
  #4 (permalink)  
Старый 17.06.2011, 16:44
Новичок на форуме
Отправить личное сообщение для Filja Посмотреть профиль Найти все сообщения от Filja
 
Регистрация: 17.06.2011
Сообщений: 5

Сообщение от Demin
неверная строка
var ku_ku=document.getElementById('opredelis').value;
ты получаешь: edakovo, von_tavo, net_tavo

необходимо же тебе число от 0 до 2
Ну, вот именно здесь я и лажаю, и никак не въеду... В работающем калькуляторе
var n=obj.imja_select.value;
var a=imja_array[n];

Я тупо переписал - но толком смысла не понял, но пашет тот калькулятор во всех браузерах...
Ответить с цитированием
  #5 (permalink)  
Старый 17.06.2011, 16:50
Новичок на форуме
Отправить личное сообщение для Filja Посмотреть профиль Найти все сообщения от Filja
 
Регистрация: 17.06.2011
Сообщений: 5

Сообщение от dmitriymar Посмотреть сообщение
и что есть skoka?-строка? судя из var skoka=document.getElementById('tuta').value;
а ma_ku=это вообще строка
var futy_nuty= new Array();
futy_nuty[0]="30.21";
futy_nuty[1]="7.8";
futy_nuty[2]="517.6";
если число-то без кавычек
Вот опять-жн из работающего:
var imja = new Array();
	  imja["marka1"]="3.87";
	  imja["marka2"]="4.29";	      
	  imja["marka3"]="4.72";
	  imja["marka4"]="5.15";
	  imja["marka5"]="5.57";

почему-то с кавычками, но считает...
А skoka - это то, что вводится в 'tuta'

Последний раз редактировалось Filja, 17.06.2011 в 16:52.
Ответить с цитированием
  #6 (permalink)  
Старый 17.06.2011, 17:38
Аватар для NoResponse
Профессор
Отправить личное сообщение для NoResponse Посмотреть профиль Найти все сообщения от NoResponse
 
Регистрация: 17.06.2010
Сообщений: 152

смотрю в книгу, вижу фигу ?
уже же сказали что
Цитата:
var ku_ku=document.getElementById('opredelis').value;
ты получаешь: edakovo, von_tavo, net_tavo
сложно сделать
futy_nuty["edakovo"]="30.21";
и остальные по аналогии ?
Ответить с цитированием
  #7 (permalink)  
Старый 17.06.2011, 17:56
Новичок на форуме
Отправить личное сообщение для Filja Посмотреть профиль Найти все сообщения от Filja
 
Регистрация: 17.06.2011
Сообщений: 5

Сообщение от Demin Посмотреть сообщение
неверная строка
var ku_ku=document.getElementById('opredelis').value;
ты получаешь: edakovo, von_tavo, net_tavo

необходимо же тебе число от 0 до 2
Так как это число получить? Мне вообще-то нужно двумерный массив, но уже на одномерном споткнулся основательно - как в нём отразить выбор пользователя?
Ответить с цитированием
  #8 (permalink)  
Старый 17.06.2011, 18:04
Новичок на форуме
Отправить личное сообщение для Filja Посмотреть профиль Найти все сообщения от Filja
 
Регистрация: 17.06.2011
Сообщений: 5

Сообщение от NoResponse Посмотреть сообщение
смотрю в книгу, вижу фигу ?
уже же сказали что
сложно сделать
futy_nuty["edakovo"]="30.21";
и остальные по аналогии ?
Ыменно, что так! И не одну, а три фиги, три дня подряд!
Уфф, заработало
Спасибище!
Ответить с цитированием
  #9 (permalink)  
Старый 25.03.2015, 08:12
Новичок на форуме
Отправить личное сообщение для Vuhrashka Посмотреть профиль Найти все сообщения от Vuhrashka
 
Регистрация: 24.03.2015
Сообщений: 7

у меня тоже пишет NAN... Помогите пожалуйста... Очень срочно нужно, делала вообще первый раз в жизни!((((

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Калькулятор на JavaScript</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<script type="text/javascript">
/*
* Функция подсчета стоимости заливки наливного пола
*/
function calc() {
//получаем ссылку на элемент Select (Тип пола)
var type_floor = document.getElementById("type_floor");
//получаем ссылку на элемент Select (Дополнительные работы)
var additional_works = document.getElementById("additional_works");
//получаем ссылку на чекбокс (Требуется стяжка?)
var is_html = document.getElementById("is_html");
//получаем ссылку на элемент input (Площадь)
var count = document.getElementById("area");
//получаем ссылку на элемент span, в него будем писать стоимость заливки
var result = document.getElementById("result");

var price = ((document.getElementById("type_floor").value*docu ment.getElementById("area").value)
+ (document.getElementById("additional_works").value *document.getElementById("area").value)
+ (document.getElementById("is_html")*document.getEl ementById("area").value)); 0;

result.innerHTML = price;

}

</script>
</head>
<body>
<b>Тип пола:</b><br/>
<select onchange="calc()" id="type_floor">
<option value="0">Выбрать</option>
<option value="4800">Декоративный пол</option>
<option value="4500">Декоративные полы с узором</option>
<option value="2800">Одноцветный наливной пол</option>
</select><br/>
Дополнительные работы:</b><br/>
<select onchange="calc()" id="additional_works">
<option value="0">Выбрать</option>
<option value="200">Демонтаж плитки</option>
<option value="150">Демонтаж деревянного пола</option>
<option value="100">Демонтаж ламината</option>
<option value="50">Демонтаж паркета</option>
<option value="50">Демонтаж линолеума</option>
</select><br/>
<input type="checkbox" onchange="calc()" value="250" id="is_html" />
<label for="is_html">Требуется стяжка?</label>
Площадь: <input type="text" id="area" onchange="calc()" />
<div>Стоимость заливки пола: <span id="result">0</span> руб.</div>
</body>
</html>
Ответить с цитированием
  #10 (permalink)  
Старый 25.03.2015, 08:42
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

var price = ((document.getElementById("type_floor").value*docu ment.getElementById("area").value)
+ (document.getElementById("additional_works").value *document.getElementById("area").value)
+ (document.getElementById("is_html")*document.getEl ementById("area").value));

С пробелами метод прописан, и в последнем выражении умножается объект на значение.

А что за магическое - 0; ?

function calc() {
   var a = document.getElementById("area").value.replace(/\D/, '');
   document.getElementById("result").innerHTML = 
        document.getElementById("type_floor").value * a
        + 
        document.getElementById("additional_works").value * a
        + 
        document.getElementById("is_html").value * a;
}


PS. Что вы как "чужой" в тела других вселяетесь? )
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему не определяется втарая переменная? Арман Общие вопросы Javascript 3 09.04.2011 11:14
калькулятор стоимости (где поправить) 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