Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.11.2017, 14:57
Аспирант
Отправить личное сообщение для Anushki Посмотреть профиль Найти все сообщения от Anushki
 
Регистрация: 07.11.2017
Сообщений: 43

нужна простая форма перерасчета
Ребят всем привет. Я только начинаю изучать язык.
Подскажите пожалуйста простой способ для перерасчета значений с формы без id.

Мы будем получать value с разных полей:
input text
input checkbox
input radio
select

Нужно чтобы value можно было легко пересчитывать меняя знак +-*\ в скрипте. И желательно чтобы мы получали значения не по id или name. А по типу тега.

И далее вывести значение всех полученных чисел под формой.

Я с утра сижу. уже устала) не могу найти полезного в сети один мусор.

Если не трудно киньте пример) буду вам очень благодарна)
Ответить с цитированием
  #2 (permalink)  
Старый 07.11.2017, 15:11
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Нужно показывать форму и формулу расчета, а то как и вы форум будет сидеть и гадать чего вам надо.
Ответить с цитированием
  #3 (permalink)  
Старый 07.11.2017, 15:18
Аспирант
Отправить личное сообщение для Anushki Посмотреть профиль Найти все сообщения от Anushki
 
Регистрация: 07.11.2017
Сообщений: 43

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8" />
<title>Получение суммы всех value из полей</title>
<script>
function addition() {
Получить сумму значений из полей
}
</script>
</head>
<body>
<form>
<input name="usluga" id="a" type="radio" value="10">Услуга 1<br><br>
<input name="usluga" id="b" type="radio" value="20">Услуга 2<br><br>
<select class="c" id="c">
<option value="" selected disabled>Количество</option>
<option value="1">1 .шт</option>
<option value="2">2 .шт</option>
</select><br><br>
<input name="d" id="d" type="text" value="" placeholder="Укажите размер"><br><br>
</form>
Итого: <i id="result"></i>.рублей<br>
</body>
</html>

Последний раз редактировалось Anushki, 07.11.2017 в 15:22.
Ответить с цитированием
  #4 (permalink)  
Старый 07.11.2017, 15:52
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Ну если для современных браузеров, то можно так

<form oninput="addition(this.elements)">
....

<script>
function addition(f) {
    var v = [].reduce.call(f, function(a, i) {
        return a + (i.checked || i.type!='radio' && +i.value ? +i.value : 0)
    }, 0)
    document.getElementById('result').textContent = v;
}
</script>


Правда почему все сумма...
Ответить с цитированием
  #5 (permalink)  
Старый 07.11.2017, 15:56
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Сообщение от laimas
почему все сумма...
Цена + Количество + Размер = Результат
Ответить с цитированием
  #6 (permalink)  
Старый 07.11.2017, 15:59
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Dilettante_Pro
Цена + Количество + Размер
Это как? Цена штанов 100 руб., количество 1 = 100. Если я буду покупать размер 48, то что цена штанов станет 148 руб.?

А если штуки, значит умножать надо. Я не понял сего момента, а может товар такой, кто его знает. )

Последний раз редактировалось laimas, 07.11.2017 в 16:01.
Ответить с цитированием
  #7 (permalink)  
Старый 07.11.2017, 15:59
Аспирант
Отправить личное сообщение для Anushki Посмотреть профиль Найти все сообщения от Anushki
 
Регистрация: 07.11.2017
Сообщений: 43

Сообщение от Dilettante_Pro Посмотреть сообщение
Цена + Количество + Размер = Результат
А можно увидеть пример ?)
Ответить с цитированием
  #8 (permalink)  
Старый 07.11.2017, 16:03
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Anushki,
вы не ошибаетесь и все должно быть как сумма?
Ответить с цитированием
  #9 (permalink)  
Старый 07.11.2017, 16:28
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Anushki,
Сообщение от Anushki
А можно увидеть пример ?)
Пример - в вашем HTML пост №3
Цена - из
<input name="usluga" id="a" type="radio" value="10">Услуга 1<br><br>
<input name="usluga" id="b" type="radio" value="20">Услуга 2<br><br>

Количество - из
<select class="c" id="c">
<option value="" selected disabled>Количество</option>
<option value="1">1 .шт</option>
<option value="2">2 .шт</option>
</select><br><br>

Размер - из
<input name="d" id="d" type="text" value="" placeholder="Укажите размер"><br><br>

Ну и Результат
function addition() {
Получить сумму значений из полей
}

laimas все посчитал точно по ТЗ
Нет, пардон, не точно:
Сообщение от laimas
Цена штанов 100 руб., количество 1 = 100. Если я буду покупать размер 48, то что цена штанов станет 148 руб.?
Не 148, а 100+1+48 = 149

Последний раз редактировалось Dilettante_Pro, 07.11.2017 в 16:33.
Ответить с цитированием
  #10 (permalink)  
Старый 07.11.2017, 16:38
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Dilettante_Pro
Не 148, а 100+1+48 = 149
Действительно, проглядел
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
простая форма автозамена точек на запятые - 150 р wlad2 Работа 11 22.07.2015 17:21
Нужна помощь - форма обратной связи со скачиванием файла Baton1777 Общие вопросы Javascript 3 24.05.2015 02:21
нужна форма оптового заказа с калькулятором Dariloff Работа 1 06.01.2013 15:31
Помогите! Нужна маленькая форма с кнопкой при нажатии на которую выводился текст Кабанов Сергей Элементы интерфейса 1 26.03.2012 11:02
простая форма авторизации sedoyksa Общие вопросы Javascript 5 01.10.2011 22:29