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

Сообщение от 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.
Ответить с цитированием