Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 31.05.2017, 17:01
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

name это просто название переменной! можете назвать как вам больше нравится.
Ответить с цитированием
  #32 (permalink)  
Старый 31.05.2017, 17:17
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

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

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

Это есть концепция. Если вы сможете в реальном магазине товар ценой 3000 руб. купить за 30 руб., тогда я соглашусь с вами, что я не прав.
Ответить с цитированием
  #33 (permalink)  
Старый 31.05.2017, 17:21
Аватар для Darth_Pandora
Аспирант
Отправить личное сообщение для Darth_Pandora Посмотреть профиль Найти все сообщения от Darth_Pandora
 
Регистрация: 29.11.2016
Сообщений: 49

j0hnik,
Мне неудобно вас снова просить, но не могли бы вы написать как это будет в коде?
А то у меня что-то не получается(
Ответить с цитированием
  #34 (permalink)  
Старый 31.05.2017, 18:01
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

function summ(){
			var input = document.querySelectorAll("form input");
			var price =[];
			var name =[];
			for (i=0; i< input.length; i++) {
				if (input[i].checked) {
					price.push(input[i].value);
					name.push(input[i].nextElementSibling.innerText);
				}
			}
			var sum = 0;
			for(var i=0; i<price.length; i++){
				sum = sum + parseFloat(price[i]);
			}
			document.getElementsByName('sumOut')[0].value = sum+" "+name ;
		}
		document.addEventListener("change", summ);

да тут просто строчку одно добавить надо было.
Ответить с цитированием
  #35 (permalink)  
Старый 31.05.2017, 22:08
Аватар для Darth_Pandora
Аспирант
Отправить личное сообщение для Darth_Pandora Посмотреть профиль Найти все сообщения от Darth_Pandora
 
Регистрация: 29.11.2016
Сообщений: 49

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

j0hnik, А если мне потребуется вывести в div я не смогу сделать так, да?

document.getElementById('sumOutr')[0].value = sum+" "+name ;

<div id="sumOutr"></div>
Ответить с цитированием
  #36 (permalink)  
Старый 31.05.2017, 22:45
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сможете value поменяйте на innerHTML
Ответить с цитированием
  #37 (permalink)  
Старый 31.05.2017, 22:58
Аватар для Darth_Pandora
Аспирант
Отправить личное сообщение для Darth_Pandora Посмотреть профиль Найти все сообщения от Darth_Pandora
 
Регистрация: 29.11.2016
Сообщений: 49

По идее так, правильно? Только он что-то не работает

<script>
		function summ(){
			var input = document.querySelectorAll("form input");
			var price =[];
			var name =[];
			for (i=0; i< input.length; i++) {
				if (input[i].checked) {
					price.push(input[i].innerHTML);
					name.push(input[i].nextElementSibling.innerText);
				}
			}
			var sum = 0;
			for(var i=0; i<price.length; i++){
				sum = sum + parseFloat(price[i]);
			}
			//document.getElementsByName('sumOut')[0].value = sum+" "+name ;
			document.getElementById('sumOutr')[0].innerHTML = sum+" "+name ;
		}
		document.addEventListener("change", summ);
	</script>


<div id="sumOutr"></div>
Ответить с цитированием
  #38 (permalink)  
Старый 31.05.2017, 23:37
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Нет вот так.
function summ(){
			var input = document.querySelectorAll("form input");
			var price =[];
			var name =[];
			for (i=0; i< input.length; i++) {
				if (input[i].checked) {
					price.push(input[i].value);
					name.push(input[i].nextElementSibling.innerText);
				}
			}
			var sum = 0;
			for(var i=0; i<price.length; i++){
				sum = sum + parseFloat(price[i]);
			}
			//document.getElementsByName('sumOut')[0].value = sum+" "+name ;
			document.getElementById('sumOutr').innerHTML = sum+" "+name ;
		}
		document.addEventListener("change", summ);


т.к по id обращаемся [0] тут не нужен
а price.push(input[i].value); трогать не надо, это мы получаем данные, а не выводим
Ответить с цитированием
  #39 (permalink)  
Старый 01.06.2017, 04:05
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

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

Сообщение от Darth_Pandora
Не надо рассматривать мою тестовую версию как что-то окончательное.
А что вы тестируете? j0hnik, включил дурку и понеслося...

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

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

Может этот последний вопрос все-таки заставит вас задуматься и вы в конце концов поймете, что начиная уже с формы что-то не так.
Ответить с цитированием
  #40 (permalink)  
Старый 01.06.2017, 08:42
Аватар для Darth_Pandora
Аспирант
Отправить личное сообщение для Darth_Pandora Посмотреть профиль Найти все сообщения от Darth_Pandora
 
Регистрация: 29.11.2016
Сообщений: 49

j0hnik, спасибо, вы меня очень выручили

laimas,
Да поняла я уже, что считать надо на стороне сервера, php скриптом, запихнуть какой-нибудь уникальный ид каждому товару, потом этот ид на сервер к пхп, потом выводить при помощи ajax-са в хтмл. Так?
Да, я знаю, что сейчас делаю бесполезную с точки зрения ценности работу, но клиент захотел увидеть как это будет плюсоваться. (Вот такое у него желание) А как известно работодатель всегда прав.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать скрипт который сможет подставить атрибутам название из title. Donso Работа 6 26.01.2016 20:04
Написать простенький скрипт JS akaramazov Работа 0 21.04.2014 20:53
Как написать автозапускающийся скрипт на странице пользователя? evgenyivanov Общие вопросы Javascript 1 04.01.2014 15:09
Как реализовать отправку содержимого из iframe нажатием комбинации клавиш ctrl+enter Naizer Общие вопросы Javascript 3 27.11.2013 17:39
как написать скрипт d4a1 Общие вопросы Javascript 10 26.05.2011 02:21