Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Не получается написать скрипт. Не знаю как его реализовать. (https://javascript.ru/forum/dom-window/69123-ne-poluchaetsya-napisat-skript-ne-znayu-kak-ego-realizovat.html)

laimas 31.05.2017 15:06

Цитата:

Сообщение от Darth_Pandora
Вы имеете ввиду что у меня action у form не назначен?

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

ksa 31.05.2017 15:17

Цитата:

Сообщение от laimas
Шесть товаров и уже компания?

Например 6 атомных подводных лодок... :D
Попробуй продай без сайта!

Darth_Pandora 31.05.2017 15:28

Можно поподробнее?

Вот допустим, у меня есть форма. Она получает данные из базы. Пользователь выбирает нужные импуты и получается сумма. Эта сумма если клиент щёлкает на добавить в корзину заносится в корзину. Объясните мне пожалуйста, что ни так, может я туплю. Я просто не понимаю к чему вы клоните.

j0hnik 31.05.2017 15:29

<!DOCTYPE HTML>
<html lang="en">
<head>
	<meta charset="utf-8">
</head>
<body>
	<form>
		<label class="label-custom">
			<legend class="the-legend">Prosessor:</legend>
			<fieldset class="well the-fieldset">
				<input type="radio" class="radio" id="radio-1" value="400" name="group1"/>
				<label for="radio-1">DT.VMXMC.062	Intel® Core™ i3-6100 (3M Cache, 3.70 GHz)</label>
				<label for="radio-1" class="price-custom">400 azn</label>
				<br /><br />

				<input type="radio" class="radio" id="radio-2" value="300" name="group1"/>
				<label for="radio-2">DT.VMXMC.063	Intel® Core™ i5-6400 (6M Cache, up to 3.30 GHz) </label>
				<h class="price-custom">300 azn</h>
				<br /><br />

				<input type="radio" class="radio" id="radio-3" value="200" name="group1" />
				<label for="radio-3">DT.VMXMC.064	Intel® Core™ i7-6700 (8M Cache, up to 4.00 GHz)</label> 
				<h class="price-custom">200 azn</h>
			</fieldset>
		</label>
		<label class="label-custom">
			<legend class="the-legend">Operativ yaddaş:</legend>
			<fieldset class="well the-fieldset">
				<input type="radio" class="radio" id="radio-4" value="100" name="group2">
				<label for="radio-4">RAM 8GB DDRIV</label>
				<h class="price-custom">100 azn</h>
			</fieldset>
		</label>
		<label class="label-custom">
			<legend class="the-legend">Daxili yaddaş HDD:</legend>
			<fieldset class="well the-fieldset">
				<input type="radio" class="radio" id="radio-5" value="200" name="group3"/>
				<label for="radio-5">2TB SATA 3.5"</label>
				<h class="price-custom">200 azn</h>
			</fieldset>
		</label>
		<label class="label-custom">
			<legend class="the-legend">VGA:</legend>
			<fieldset class="well the-fieldset">
				<input type="radio" class="radio" id="radio-6" value="500" name="group4"/>
				<label for="radio-6">GT 210 1GB 64   bit</label>
				<label for="radio-6" class="price-custom">500 azn</label>
				<br /><br />
				<input type="radio" class="radio" id="radio-7" value="300" name="group4"/>
				<label for="radio-7">GT 730 2GB 128 bit</label>
				<label for="radio-7" class="price-custom">300 azn</label>
			</fieldset>
		</label>
		<label class="label-custom">
			<legend class="the-legend">Monitor:</legend>
			<fieldset class="well the-fieldset">
				<input type="radio" class="radio" id="radio-8" value="100" name="group5"/>
				<label for="radio-8">LCD V206HQLBB</label>
				<label for="radio-8" class="price-custom">100 azn</label>
			</fieldset>
		</label>
		<label class="label-custom">
			<legend class="the-legend">OS:</legend>
			<fieldset class="well the-fieldset">
				<input type="radio" class="radio" id="radio-9" value="400" name="group6"/>
				<label for="radio-9">Windows 10 Home</label>
				<label for="radio-9" class="price-custom">400 azn</label>
			</fieldset>
		</label>
		<label class="label-custom">
			<legend class="the-legend">MS Office:</legend>
			<fieldset class="well the-fieldset">
				<input type="radio" class="radio" id="radio-10" value="100" name="group7"/>
				<label for="radio-10">Office 365 Personal</label>
				<label for="radio-10" class="price-custom">100 azn</label>
			</fieldset>
		</label>
		<label class="label-custom">
			<legend class="the-legend">Antivirus:</legend>
			<fieldset class="well the-fieldset">
				<input type="radio" class="radio" id="radio-11" value="500" name="group8"/>
				<label for="radio-11">Kaspersky Antivirus Base - 2PC</label>
				<label for="radio-11" class="price-custom">500 azn</label>
				<br /><br />
				<input type="radio" class="radio" id="radio-12" value="400" name="group8"/>
				<label for="radio-12">ESET NOD32 Antivirus - 3PC</label>
				<label for="radio-12" class="price-custom">400 azn</label>
			</fieldset>
		</label>
		<br/>
		<div class="button-group">
			<button type="submit" class="btn btn-green text-right">В корзину</button>
			<button type="reset" class="btn btn-green text-right">Удалить</button>
			<input type="button" onclick="sums()" value="Подсчитать">
			<br>Сумма:<br>
			<input type="text" name="sumOut" disabled="false" value="">
		</div>
	</form>
	<script>
		function summ(){
			var input = document.querySelectorAll("form input");
			var price =[];
			for (i=0; i< input.length; i++) {
				if (input[i].checked) {
					price.push(input[i].value);
				}
			}
			var sum = 0;
			for(var i=0; i<price.length; i++){
				sum = sum + parseFloat(price[i]);
			}
			document.getElementsByName('sumOut')[0].value =sum ;
		}
		document.addEventListener("change", summ);
	</script>
</body>
</html>

Только я бы если честно это все нахрен переделал бы на вашем месте
1) где одиночная радиокнопка там нужен чекбокс, ато никак не отменить выбор,
2) в остальные поставить "НЕТ" тоже для отмены выбора.
или сделайте лучше селектами.

laimas 31.05.2017 15:30

j0hnik,
это полная чушь.

laimas 31.05.2017 15:33

Цитата:

Сообщение от Darth_Pandora
Вот допустим, у меня есть форма. Она получает данные из базы. Пользователь выбирает нужные импуты и получается сумма. Эта сумма если клиент щёлкает на добавить в корзину заносится в корзину.

У вас товары описаны в базе, что является первичным в этом описании?

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

j0hnik 31.05.2017 15:38

Цитата:

Сообщение от laimas (Сообщение 453971)
j0hnik,
это полная чушь.

Да это просто пример как сумму получить.
автор спросил: "Позволяет ли JS выводить инфу сразу после того, как я щелкнула радио баттоном"
ну буду же я тут в тестовом окне делать полноценный интернет магазин:-/

Darth_Pandora 31.05.2017 15:46

У меня всё будет описано в базе. Но пока клиент хочет увидеть каркас. Вёрстку того, как это будет выглядеть.
laimas, И вообще, хватит меня гнобить. Не боги горшки обжигают. Я знаю свои пробелы и потихоньку учу js. Если у вас есть какой-то дельный совет я с удовольствием прислушаюсь к нему.

j0hnik,
1) где одиночная радиокнопка там нужен чекбокс, ато никак не отменить выбор,
Да, спасибо, вы правы, я что-то в начале не сообразила
2) в остальные поставить "НЕТ" тоже для отмены выбора.
или сделайте лучше селектами.
Об этом я подумала, но решила, что кнопочка RESET решает =)
3. А вы не подскажете как сделать так, что б рядом с суммой перечислялись ещё названия выбранных товаров?

Darth_Pandora 31.05.2017 15:48

laimas,
ах, и да. Это не магазин. То чем является эта форма это довесок (кастомизация) к товару.

laimas 31.05.2017 15:49

Цитата:

Сообщение от j0hnik
Да это просто пример как сумму получить.

А не слишком ли много кода для такого подсчета? Сперва нужно видеть магазин и только после этого будет определено что и где будет считаться. В противном случае это пустота.


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