name это просто название переменной! можете назвать как вам больше нравится.
|
Darth_Pandora,
товаром распоряжается фирма. Это означает, что она должна вести их учет, приниматься заказы, отправлять их. Это означает, что всякие расчеты на клиенте, это сугубо для клиента. Сервер же (то есть магазин, владелец товаров) просто обязан все данные извне проверять и все расчеты производить сам. А для того чтобы он мог понять какой товар покупают, ему формой должна передаваться не цена товара, а то, что идентифицирует товар, причем индивидуально каждый, то есть нечто уникальное. Отключаем JS при этом, а магазин будет продолжать работать исправно. Другими словами - в вашем магазине данные, это так, нечто несерьезное, а ведь это основа, не только для информации, но и для контроля. НУ а далее и неверное представление товаров формой, а значит и не то считаем, а самое плохое, это не понимаем для чего считаем. Это есть концепция. Если вы сможете в реальном магазине товар ценой 3000 руб. купить за 30 руб., тогда я соглашусь с вами, что я не прав. |
j0hnik,
Мне неудобно вас снова просить, но не могли бы вы написать как это будет в коде? А то у меня что-то не получается( |
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); да тут просто строчку одно добавить надо было. |
laimas,
Цитата:
j0hnik, А если мне потребуется вывести в div я не смогу сделать так, да? document.getElementById('sumOutr')[0].value = sum+" "+name ; <div id="sumOutr"></div> |
Сможете value поменяйте на innerHTML
|
По идее так, правильно? Только он что-то не работает
<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> |
Нет вот так.
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); трогать не надо, это мы получаем данные, а не выводим |
Цитата:
Цитата:
Допустим, фирма настолько проста, что весь магазин это одна единственная страница на которой 6 товаров и флажки для их выбора. Бог с вами, считайте value выбранных флажков, хотя это свойство флажков должно содержать не цену, а идентификатор товара. Да делайте что хотите, в конечном итоге ведь страдать буду не я, а ваш заказчик. Но если все таки есть страницы подробного описания товара, на которые можно совершать переход. Будучи на этой странице пользователь также может добавлять/удалять товара в/из корзины, а вы подсчетами чего увлекаетесь? Может этот последний вопрос все-таки заставит вас задуматься и вы в конце концов поймете, что начиная уже с формы что-то не так. |
j0hnik, спасибо, вы меня очень выручили :)
laimas, Да поняла я уже, что считать надо на стороне сервера, php скриптом, запихнуть какой-нибудь уникальный ид каждому товару, потом этот ид на сервер к пхп, потом выводить при помощи ajax-са в хтмл. Так? Да, я знаю, что сейчас делаю бесполезную с точки зрения ценности работу, но клиент захотел увидеть как это будет плюсоваться. (Вот такое у него желание) А как известно работодатель всегда прав. |
Часовой пояс GMT +3, время: 20:44. |