Цитата:
|
мне нужно чтобы какие бы не были поля в форме input radio, input text, select, input checkbox чтобы их value сумировалось и в конце формы выводилось...
|
Цитата:
|
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> |
Цитата:
<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> .рублей |
в начале стоит radio выборка
следовательно после нажатия сразу должна появлятся сумма. А сейчас сумма отображается только после выбора select |
Цитата:
<!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)". |
боже) логически это эллементарно выглядет. а вот на языке так сложно))
например: делаем выбор (radio) выбираем со списка (select) выбираем несколько вариантов (checkbox) Итого цена= сумма всех выбранных value.. А <i class="result"></i> Должна отображать сумма сразу. например выбрали первое поле а у него value10 тогда сразу показываем 10 далее select с value 10 уже показываем 20 так как 10+10 = 20 ну и тд. Скрипт должен быть такой чтобы сколько бы не было radio,checkbox,text,select'ов чтобы в итоге выводилось их все value.. просто значение + значение + значение и т.д до бесконечности сколько угодно) а в конце чтобы выводилась сумма всех сложенных значений |
Цитата:
Если же вам надо, что поле результата отображало наборы как текст 10 + 10 = 20 при выборе 2 шт., то это условие надо было описать, и код будет совсем иной. Иначе ну бред какой-то, а не калькулятор. :) |
Цитата:
|
Часовой пояс GMT +3, время: 07:37. |