Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Скрипт для вычисления объема помещения (https://javascript.ru/forum/misc/3104-skript-dlya-vychisleniya-obema-pomeshheniya.html)

Jameson 18.03.2009 17:08

Скрипт для вычисления объема помещения
 
Ув. господа, в программировании я лузер, поэтому решил обратиться к авторитетным людям.

На главной странице сайта мне необходимо разместить форму с полями:

- длина
- ширина
- высота
- результат

ну и кнопка "пересчитать", соответственно.

Результат считается по формуле длина х ширина х высота х коэффициент.
Результат сравнивается с 5-10 диапазонам и в зависимости от того, в какой диапазон попадает результат - выводится текстовое сообщение.

Желательно, чтобы подсчет производился без перезагрузки страницы.

Правильно ли будет реализовывать данный сервис через ЯваСкрипт(в настройках некоторых браузеров блокируется активное содержимое страниц) или лучше на ПХП? И если Ява лучше, может кто поделится скриптом таким или похожим, наверняка там "пара строчек" кода?

Gvozd 18.03.2009 17:25

если вам надо "без перезагрузки страницы", то это только на JavaScript
если позаолдительна перезагрузка страницы, то тогда можно выбирать между ПХП и JavaScript.но, я бы все равно предпочел второй.

писать за вас тут навряд ли кто станет
здесь помогают чтобы вы сами написали, а не пишут за вас.
помогают найти оштибку.помогают советом, алгоритмом, литературой, прочим материалом.
иногда кодом, если это что-то интересное.
но писать за вас например лично я не стану,даже не смотря на ваше признание в лузерстве

скрипт и вправду элементарный.
поэтому учебник по JavaScript в зубы.
на этом сайте полно материала.
в конце-концов есть гугл

если не собираетесь садится изучать JS, и он вам нафиг не нужен, то у вас два пути:делать сервис без JS, либо расстегнуть кошелек за готовый скрипт

PS если вы все-таки решите сами изучить и попробовать сделать,то вам помогут в случае чего, если ваш вопрос конечно не будет совсем глупым

Jameson 18.03.2009 17:32

так я и не говорю писать за меня.... я говорю - что-нибудь подобное, а я бы его на запчасти разобрал и с книжкой доделал...(есть у меня ЯваСкрипт в примерах)

Gvozd 18.03.2009 17:39

Jameson,
что-нибудь подобное пишется со скоростью вашего набора на клавиатуре
выкладывать в готовом виде поэтому навряд ли кто-то станет.ибо бессмысленно
это как "хочу создать таблицу Excel, чтобы в левом верхнем углу была единичка.не надо за меня делать, просто может где есть похожий документ(например с двоечкой), я его сам переделаю.у меня есть книжка `Офис для чайников`"
вот примерно так это и звучит.
читайте книжку, и пишите.
если будут проблемы конкретного характера(как получить значени поля формы, или вывести надпись), то задавайте их

Jameson 18.03.2009 17:45

А ты че за всех-то решаешь? ты за себя пиши: мол так и так, я пишу такие скрипты со скоростью твоей печати на компьютере и так далее... и ваще я в оценке своих сообщений от тебя не нуждаюсь....

ZoNT 18.03.2009 17:54

Я бы тебя в пожизненный бан послал... Не понимаешь ты для чего форумы нужны...

Gvozd 18.03.2009 18:01

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

я ваше сообщение видоизменил, чтобы вы поняли суть.
вы же наверно умеете работать с Excel?вы бы стали после своего первого с ним знакомства задавать такие вопросы?полагаю нет.
думал пример будет вам понятнее, но если вы решили его воспринять в штыки, то это ваши проблемы.

к тому же я вам пока что не давал повода переходить на "ты"
форма "вы" является общепринятой формой нормального уважительного общения в интернете(и не только), между незнакомыми людьми.также эта нормальная форма общения между учеником и учителем.
в общем, я не вижу причин чтобы вы мне "тыкали"

теперь же по сути:
вы знаете JS?
1)если нет, тогда садитесь за "ЯваСкрипт в примерах"
уверен там есть необходимый материал для вашей задачи
не хотите учить JS?
тогда вам в раздел работа
2)если же вы знаете JS в хоть каком-то объеме, то жду конкретных вопросов.примеры правильных вопросов я приводил выше

Zibba 18.03.2009 18:02

Для начала создайте форму с соответствующими полями и кнопкой. затем прочтите/найдите как получить значение поля при помощи js, как повесить обработчик на кнопку и приступайте к написанию функции.
Для начала получите значение полей, затем при помощи метода parseInt()/parseFloar() преобразуете значение в число. Выполните нужные математические операции и выведите полученное значение на экран (если это будето поле для ввода (результат) то запишете значение туда при помощи присвоения его свойству value, если же это будет просто какой то html элемент с результатом (div/span etc) то самым простым будет получить его при помощи getElementByID() и присвоить значение свойству innerHTML).
От Вас только осталось сесть, найти то что я написал (материала полно) и написать пару строчек кода подстроив под свои нужды.

Gvozd 18.03.2009 18:04

Цитата:

Сообщение от ZoNT
Я бы тебя в пожизненный бан послал

а толку-то?
он все равно уйдет с этого форума.
либо с решением задачи, либо без.
если же он останется тут через неделю, по собственной воле, то он сам поймет для чего форумы нужны, и научится задавать конструктивные вопросы.и бан тогда не нужен.
это конечно при условии, если кто-нибудь не оакжет ему медвежью услушу готовым решением.тогда он тут может надолго поселится в поисках готовых решений на блюдце с голубой каемочкой

Onis 18.03.2009 18:18

Блин что вы его дергаете. Напишите хоть что-то, чтобы ему было от чего оттолкнуться.

Хотябы так:
<script language="javascript" type="text/javascript">
var grad = new Array();
	function getResult()
	{
		var x = document.getElementById('x').value;
		var y = document.getElementById('y').value;
		var z = document.getElementById('z').value;
		var value = x*y*z;
		var resultDiv = document.getElementById('result');
		resultDiv.innerHTML = '';
		for(var i = 0; grad.length > i; i++)
		{
			if( grad[i]['k1'] <= value && value <= grad[i]['k2'])
				resultDiv.innerHTML += "Результат совпал с диапазоном №" + i + "(" + grad[i]['k1'] + "-" + grad[i]['k2'] + ")|" + value + "<br/> " ;
		}
		return true;
	}
	function addGrad(k1, k2)
	{
		var k1 = document.getElementById('k1').value;
		var k2 = document.getElementById('k2').value;
		var a = new Array();
		a['k1'] = k1;
		a['k2'] = k2;
		grad.push(a);
		alert('Диапазон добавлен');
		return true;
	}
</script>
<table border="0">
	<tr>
		<td>
			Данные для сравнения:
		</td>
	</tr>
	<tr>
		<td>
			<div id="result"></div>
		</td>
	</tr>
	<tr>
		<td>
			<input value="Длинна" id="x"/>
		</td>
	</tr>
	<tr>
		<td>
			<input value="Ширина" id="y"/>
		</td>
	</tr>
	<tr>
		<td>			
			<input value="Высота" id="z"/>
		</td>
	</tr>
		<td>			
			<button onclick="getResult()">Сравнить</button>
		</td>
	</tr>
	<tr>
		<td>
			Добавить диапазон:
		</td>
	</tr>
	<tr>
		<td>
			<input value="Минимальный объем" id="k1"/>
		</td>
	</tr>
	<tr>
		<td>			
			<input value="Максимальный объем" id="k2"/>
		</td>
	</tr>
		<td>			
			<button onclick="addGrad()">Добавить</button>
		</td>
	</tr>
</table>

Набросал в блокноте, даже не запускал.


Часовой пояс GMT +3, время: 08:31.