Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для aekuznecov
33 / 33 / 17
Регистрация: 25.03.2013
Сообщений: 520
Записей в блоге: 5

Подсчет голосов из радиобаттонов и вывод их количества

07.09.2015, 18:33. Показов 1348. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть форма с радиобаттонами:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<form name="pollForm">
                            <b>Оцените качество услуги "Государственная аккредитация образовательных учреждений Самарской области"</b><br>
                            <input type=radio name="p1" id="p1" value="good"> Хорошо<br>
                            <input type=radio name="p2" id="p2" value="bad"> Плохо<br><br>
                            <b>Оцените качество услуги "Организация и проведение аттестации педагогических работников государственных образовательных учреждений Самарской области и муниципальных образовательных учреждений"</b><br>
                            <input type=radio name="p3" id="p3" value="good"> Хорошо<br>
                            <input type=radio name="p4" id="p4" value="bad"> Плохо<br><br>
                            <b>Оцените качество услуги "Подтверждение документов государственного образца об образовании, об ученых степенях и ученых званиях"</b><br>
                            <input type=radio name="p5" id="p5" value="good"> Хорошо<br>
                            <input type=radio name="p6" id="p6" value="bad"> Плохо<br><br>
                            <b>Оцените качество услуги "Организация и предоставление дополнительного профессионального образования (профессиональная переподготовка и повышение квалификации)"</b><br>
                            <input type=radio name="p7" id="p7" value="good"> Хорошо<br>
                            <input type=radio name="p8" id="p8" value="bad"> Плохо<br><br>
                            <b>Оцените качество услуги "Организация и предоставление среднего профессионального образования"</b><br>
                            <input type=radio name="p9" id="p9" value="good"> Хорошо<br>
                            <input type=radio name="p10" id="p10" value="bad"> Плохо<br><br>
                            <b>Оцените качество услуги "Организация и предоставление высшего и послевузовского профессионального образования"</b><br>
                            <input type=radio name="p11" id="p11" value="good"> Хорошо<br>
                            <input type=radio name="p12" id="p12" value="bad"> Плохо
                            <br><br>
                            <input onclick="poll_form()" type="button" value="Отправить">
                            </form>
                            <br>
                            <hr>
                            <br>
                            <div id="pollResult"></div>
написал для нее вот такой скрипт:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function poll_form() {
    
    var form = document.pollForm;
    
    var p1 = form.p1.value;
    var p2 = form.p2.value;
    var p3 = form.p3.value;
    var p4 = form.p4.value;
    var p5 = form.p5.value;
    var p6 = form.p6.value;
        var p7 = form.p7.value;
        var p8 = form.p8.value;
        var p9 = form.p9.value;
        var p10 = form.p10.value;
        var p11 = form.p11.value;
        var p12 = form.p12.value;
    
    document.getElementById('pollResult').innerHTML = 'Хорошо: ' + ??? + 
        '<br>Плохо: ' + ???;//не знаю, как правильно подсчитать кол-во голосов и вывести их. 
//Если писать в массив, то и там и там получается по 6, а надо посчитать только те, что отмечены
 
}
Собственно, как правильно организовать подсчет?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.09.2015, 18:33
Ответы с готовыми решениями:

Подсчёт символов и вывод их количества
Есть символьная переменная (строка). Нужно посчитать, сколько раз в строке встречается каждый символ и вывести количество каждого символа.

Подсчет количества и вывод результата
Доброго времени суток, форумчане. Передо мной стоит задача разработать тест, его наработки прикреплены к теме. Собсна сейчас стоит вопрос...

Подсчёт голосов в тесте
Добрый день, такое дело у меня, никак не могу разобраться, как сделать подсчёт голосов в тесте , скидываю свой код Класс: class СС ...

4
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
07.09.2015, 18:42
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function poll_form() {
    var radio = document.pollForm.querySelectorAll('[type=radio]'),
        result = {
            good: 0,
            bad: 0
        };
 
    for (var i = 0; i < radio.length; i++) {
        if (radio[i].checked) {
            result[radio[i].value]++;
        }
    }
    document.getElementById('pollResult').innerHTML = 'GOOD: ' + result.good + ', BAD: ' + result.bad;
    return false;
}
1
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
07.09.2015, 18:50
странный у вас код

обычно радиокнопки используются в "группе", к которой можно отметить (нажать и зафиксировать) лишь одну из кнопок
у вас же можно одновременно отметить и "хорошо", и "плохо" при выборе ответа на один и тот же вопрос

чтобы объединить две (и более) кнопки в группу, надо им дать одинаковое имя
пример:
HTML5
1
2
3
4
5
<form>
выберите:
<p>либо <label><input type="radio" name="myA"> первое</label>
<p>либо <label><input type="radio" name="myA"> второе</label>
</form>
запустите в браузере, покликайте (и можно не точно по кнопкам, а и по тексту "первое-второе", для чего и используются теги <label>)
и увидите, что кнопки работают согласованно - когда жмете на одну кнопку, отметка со второй кнопки снимается

в вашем же коде групп нет - у всех кнопок разные name
0
 Аватар для aekuznecov
33 / 33 / 17
Регистрация: 25.03.2013
Сообщений: 520
Записей в блоге: 5
07.09.2015, 18:56  [ТС]
kalabuni, а как подсчитать их скриптом(сколько выбрано)?
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
07.09.2015, 20:13
способов можно придумать милЬЁн с хвостиком, зависит от исходного HTML-кода

в вашем случае порекомендовал бы убрать все id и все value из радиокнопок
и для каждой пары ответов "хорошо-плохо" назначить любое уникальное имя name
(именно любое - без каких-либо последовательных чисел)
тогда в общей коллекции радиокнопок все кнопки "хорошо" будут чётными, а все кнопки "плохо" - нечётными
перебираете всю коллекцию и считаете суммарное количество отмеченных чётных и суммарное количество отмеченных нечётных


HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<form><h2>выбираем спутницу жизни</h2>
<p>оцените красоту лица --
   <label><input type="radio" name="face"> хорошо</label>
   <label><input type="radio" name="face"> плохо</label>
<p>оцените длину ног --
   <label><input type="radio" name="legs"> хорошо</label>
   <label><input type="radio" name="legs"> плохо</label>
<p>оцените размер груди --
   <label><input type="radio" name="breast"> хорошо</label>
   <label><input type="radio" name="breast"> плохо</label>
<p>оцените размер ягодиц --
   <label><input type="radio" name="buttocks"> хорошо</label>
   <label><input type="radio" name="buttocks"> плохо</label>
<p>оцените уровень интеллекта --
   <label><input type="radio" name="intelligence"> хорошо</label>
   <label><input type="radio" name="intelligence"> плохо</label>
 
<p><input type="button" value="эта подходит?" onclick="myFunc (this.form)">
</form>
 
<script>
function myFunc (f)
{
for (var R = f.querySelectorAll ('[type=radio]'), G = B = j = 0, J = R.length; j < J; j++)
if (j % 2) B += R [j].checked ? 1 : 0; else G += R [j].checked ? 1 : 0;
 
if (G > B) alert ('да (счёт ' + G + ':' + B + ')'); else alert ('нет (счёт ' + G + ':' + B + ')');
}
</script>
Добавлено через 28 минут
aekuznecov, вообще-то необходимо "вынудить" пользователя ответить на ВСЕ вопросы, иначе может получиться как в песне http://www.youtube.com/watch?v=F-k5yZwFeUk

между строками 25 и 27 вставьте if (2 * (G + B) != J) {alert ('вы ответили не на все вопросы'); return}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.09.2015, 20:13
Помогаю со студенческими работами здесь

Подсчет количества колец и вывод результата в форму
Привет всем! Передо мной стоит задача разработать тест. Суть теста заключается в том, что нужно отмечать кольца с нужными разрывами: на 12...

Подсчет голосов на фото по цветной карточке
Есть фото где голосуют карточками, карточки ОДНОГО сплошного цвета. Как их c помощью python подсчитать можно?

Подсчет количества шестерок и вывод суммы в отдельную ячейку
Всем привет, подскажите как сделать при помощи VBA так чтобы подсчитывало количество шестерок и выводило сумму в отдельную ячейку. То есть...

Подсчет количества каждого слова в строке и вывод по порядку
Всем привет! Задание заключается в том, чтоб разделить строку на слова, посчитать количество каждого слова в строке и вывести в порядке...

Ввод, вывод, подсчет среднего арифметического и количества нулей в массиве
Помогите выполнить все в одной программе пожалуйста! 1) Ввести массив с клавиатуры с запросом 2) Вывести массив в строчку, через пробел...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru