Javascript.RU

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

Сообщение от Dilettante_Pro Посмотреть сообщение
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 все посчитал точно по ТЗ
Нет, пардон, не точно:

Не 148, а 100+1+48 = 149
Можно теперь для девочек по яснее?))
Ответить с цитированием
  #12 (permalink)  
Старый 07.11.2017, 17:23
Аспирант
Отправить личное сообщение для Anushki Посмотреть профиль Найти все сообщения от Anushki
 
Регистрация: 07.11.2017
Сообщений: 43

мне нужно чтобы какие бы не были поля в форме input radio, input text, select, input checkbox чтобы их value сумировалось и в конце формы выводилось...
Ответить с цитированием
  #13 (permalink)  
Старый 07.11.2017, 17:29
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Anushki
какие бы не были поля в форме input radio, input text, select, input checkbox чтобы их value сумировалось и в конце формы выводилось
Такое я вам уже написал, но разве это правильно?
Ответить с цитированием
  #14 (permalink)  
Старый 07.11.2017, 17:31
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,726

Anushki, обратите внимание на 4-й пост.

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8" />
<title>Получение суммы всех value из полей</title>
<!-- © laimas -->
<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>
</head>
<body>
<form oninput="addition(this.elements)">
<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>
Ответить с цитированием
  #15 (permalink)  
Старый 07.11.2017, 17:33
Аспирант
Отправить личное сообщение для Anushki Посмотреть профиль Найти все сообщения от Anushki
 
Регистрация: 07.11.2017
Сообщений: 43

Сообщение от laimas Посмотреть сообщение
Такое я вам уже написал, но разве это правильно?
Ваш вариант работает но он выводет сумму после того как я второе поле заполняю. а надо чтобы при получении каждого value сумма сразу показывалась. :
<input name="sum" id="sum" type="text" value="10"><br>
+<br>
<input name="num" id="num" type="radio" value="10"><br>
<input name="num" id="num" type="radio" value="10"><br>
+<br>
<input name="" id="" type="checkbox" value="10"><br>
<input name="" id="" type="checkbox" value="10">
+<br>
<select name="usluga" id="usluga">
<option value="10"></option>
<option value="10"></option>
</select><br>

Итого: <i id="result"></i> .рублей
Ответить с цитированием
  #16 (permalink)  
Старый 07.11.2017, 17:35
Аспирант
Отправить личное сообщение для Anushki Посмотреть профиль Найти все сообщения от Anushki
 
Регистрация: 07.11.2017
Сообщений: 43

в начале стоит radio выборка
следовательно после нажатия сразу должна появлятся сумма.
А сейчас сумма отображается только после выбора select
Ответить с цитированием
  #17 (permalink)  
Старый 07.11.2017, 17:37
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Anushki
он выводет сумму после того как я второе поле заполняю
Не правда:

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8" />
<title>Получение суммы всех value из полей</title>
<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>
</head>
<body>
<form oninput="addition(this.elements)" onchange="addition(this.elements)" autocomplete="off">
<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>


Но разве это верно по логике?

PS. Писалось же, что под современные браузеры, то есть поддерживающие событие oninput, можно в форму добавить обработку и иного - onchange="addition(this.elements)".

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

боже) логически это эллементарно выглядет. а вот на языке так сложно))

например:
делаем выбор (radio)
выбираем со списка (select)
выбираем несколько вариантов (checkbox)
Итого цена= сумма всех выбранных value..

А <i class="result"></i>
Должна отображать сумма сразу.

например выбрали первое поле а у него value10
тогда сразу показываем 10
далее select с value 10
уже показываем 20 так как 10+10 = 20
ну и тд.

Скрипт должен быть такой чтобы сколько бы не было radio,checkbox,text,select'ов чтобы в итоге выводилось их все value..

просто значение + значение + значение и т.д до бесконечности сколько угодно)

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

Сообщение от Anushki
боже) логически это эллементарно выглядет.
Можете это элементарное пояснить - как услуга, цену за единицу которой, надо полагать хранят кнопки, выбранная в количестве 2 шт. будет равная 10 + 2? Это со школы должно быть известно, что 10 * 2 = 20.

Если же вам надо, что поле результата отображало наборы как текст 10 + 10 = 20 при выборе 2 шт., то это условие надо было описать, и код будет совсем иной.

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

Сообщение от laimas Посмотреть сообщение
Если же вам надо, что поле результата отображало наборы как текст 10 + 10 = 20 при выборе 2 шт., то это условие надо было описать, и код будет совсем иной.

Иначе ну бред какой-то, а не калькулятор.
Да)) должно быть 10+10=20 ) все поля должны складываться между собой так)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
простая форма автозамена точек на запятые - 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