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>

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

Gvozd 18.03.2009 18:24

Onis,
ну, вот...Убил весь образовательно-воспитательный момент
PS скрипт для "оттолкнуться" можно было и попроще было сделать.
со статичным набором условий, и на alert-ах.
не факт, что он сразу вникнет при его трудолюбии
ну да ладно.посмотрим что из этого будет *CAT_WITH_POPCORN* *DRAMA*

Onis 18.03.2009 18:31

К вам пришел человек с четкой задачей а не "Я вот хотел бы сайт написать не могли бы вы мне подсказать..." или "Не подскажите с чего начать?" или просто "объясните". Если он сам уж никак не всилах ничего сделать, нужно хотябы с основными моментами помочь. Тем более человек действительно попросил хотя бы пару строчек кода.

Может ему знания JS совсем не нужны и делает он только чтобы шеф/преподаватель отстал/поставил зачет.

Просто невежливо с вашей стороны так "пинать" новичков.

ps: я сам буквально месяц назад начал интересоваться js.

ZoNT 18.03.2009 18:36

Цитата:

Сообщение от Onis
Может ему знания JS совсем не нужны и делает он только чтобы шеф/преподаватель отстал/поставил зачет.

Вот таких становится всё больше, а образованных - всё меньше...

ZoNT 18.03.2009 18:37

Раньше люди интересовались всем, до чего могли дотянуться, энциклопедии читали. Самая интересная передача была "что? где? когда?".
А теперь только бы отстали от них, ничего не надо, дай готовое... ну и "дом 2" посмотреть...

Gvozd 18.03.2009 18:42

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

Gvozd 18.03.2009 18:44

ZoNT,
+1.
могу только добавить, что если люди не хотят что-то делать, то они всегда могут обратится к оплачиваемым услугам профессионалов

Onis 18.03.2009 18:49

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

Gvozd 18.03.2009 18:57

Цитата:

Сообщение от Onis
Но это не та ситуация.

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

Цитата:

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

Jameson 18.03.2009 19:40

Цитата:

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

Спасибо!
Сейчас два нижних поля формы уберу вместе с функцией, заполняющей массив с диапазонами, а как диапазоны в массивчик вручную внести мне, наверное, ГВОЗД подскажет... вопрос-то теперь уже не глупый ...

Jameson 18.03.2009 19:45

Цитата:

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

ГВОЗД, ну даешь... ты уже и за меня решаешь - уйду я... не уйду я....
Какие решения на блюдечке... о чем ты... я не понимаю....

Вот ты столько времени убил на переписку, тебе самому его не жалко?
А человек за 1/10 потраченного тобой времени, взял и набросал черновичек - за что ему спасибо огромное!

Jameson 18.03.2009 19:58

Цитата:

Сообщение от Gvozd (Сообщение 14616)
Onis,
ну, вот...Убил весь образовательно-воспитательный момент
PS скрипт для "оттолкнуться" можно было и попроще было сделать.
со статичным набором условий, и на alert-ах.
не факт, что он сразу вникнет при его трудолюбии
ну да ладно.посмотрим что из этого будет *CAT_WITH_POPCORN* *DRAMA*

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

Gvozd 18.03.2009 20:13

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

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

Цитата:

Сообщение от Jameson
Вот ты столько времени убил на переписку, тебе самому его не жалко?

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

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

Gvozd 18.03.2009 20:19

Jameson,
какая ваша конечная цель?
научится JS?тогда вы не на правильному пути.

получить конкретное решение конкретной проблемы? так что ж вы мне говорите, что не понимаете о какой "голубой каемочке" я говорю.

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

Jameson 18.03.2009 20:30

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

Gvozd 18.03.2009 20:47

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

Цитата:

Сообщение от Jameson
тоб в банк платежку отвезти надо экономический факультет закончить.

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

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

Zibba 18.03.2009 22:22

Цитата:

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

Цитата:

Сообщение от Onis
нужно хотябы с основными моментами помочь

А я разве не помог с основными моментами? Полностью расписал алгоритм написания скрипта и что нужно для этого использовать и почитать (даже намекнул по каким ключевикам поискать).

Jameson 19.03.2009 08:51

Цитата:

Сообщение от Zibba (Сообщение 14648)
А я разве не помог с основными моментами? Полностью расписал алгоритм написания скрипта и что нужно для этого использовать и почитать (даже намекнул по каким ключевикам поискать).

Вам тоже спасибо

Jameson 19.03.2009 08:57

Цитата:

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


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

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

Усложнил все опять - дальше некуда, чтобы отвезти платежку, нужно просто спросить где находится банк


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