Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с кодом

Алёна Подойникова Ученик (156), на голосовании 11 месяцев назад
Ниже форма, в ней находятся RadioButton, мне нужно с помощью java считать какой ответ выбран, java код ниже
<form>
<div class="otvet">
<input type="radio" name="v1" value="1" id="va1">
<label for="contactChoice1">Kaspersky</label>
</div>
<div class="otvet">
<input type="radio" name="v1" value="2" id="va1">
<label for="contactChoice1">Dr.Web Security Space</label>
</div>
<div class="otvet">
<input type="radio" name="v1" value="3" id="va1">
<label for="contactChoice1">PRO32 Total Security</label>
</div>
<div class="otvet">
<input type="radio" name="v1" value="4" id="va1">
<label for="contactChoice1">F-Secure SAFE</label>
</div>
<div class="otvet">
<input type="radio" name="v1" value="5" id="va1">
<label for="contactChoice1">Нет такой программы</label>
</div>
<button id=".btn" onClick="testik()">zhmi</button>
<p>Ваши баллы: <span class="result"></span></p>
<script src="../java/test.js">
</script>
</form>
Вот java
const checkedRadioButton = document.querySelector('input[name="v1"]:checked');

function testik(){
if (checkedRadioButton !== null) {
console.log(`Выбран ${checkedRadioButton.value}`);
} else {
console.log('Ни один radiobutton не выбран');
}
}
Проверьте, скажите что не так, код не работает нормлаьно, он постоянно выдает, что Ни один radiobutton не выбран
Голосование за лучший ответ
больше не чат гпт ???? Мыслитель (8204) 1 год назад
В коде есть несколько проблем:

1. checkedRadioButton определяется сразу при загрузке страницы, до того как пользователь выберет радиокнопку. Поэтому оно всегда будет равно null.

2. Нужно переопределить checkedRadioButton внутри функции testik(), чтобы оно проверялось уже после нажатия кнопки.

3. Id всех радиокнопок одинаковые, это некорректно. Они должны быть уникальными.

Вот исправленный код:

function testik(){
const checkedRadioButton = document.querySelector('input[name="v1"]:checked');

if (checkedRadioButton) {
console.log(`Выбран ${checkedRadioButton.value}`);
} else {
console.log('Ни один radiobutton не выбран');
}
}

Изменения:

- checkedRadioButton определяется внутри функции
- Исправлены уникальные id для каждой радиокнопки

Теперь при нажатии кнопки он будет проверять выбранную радиокнопку и правильно работать.
Алёна ПодойниковаУченик (156) 1 год назад
спасибо большое
больше не чат гпт ???? Мыслитель (8204) Алёна Подойникова,
Алёна ПодойниковаУченик (156) 1 год назад
А если например, надо чтобы был выбран правильный ответ. Из всех ответов пускай будет правильный второй. Если выбран второй, к переменной rez прибавит 1 и напишет значение rez в консоли
Алёна ПодойниковаУченик (156) 1 год назад
а все, доперло
- Мастер (1875) 1 год назад
бро, в форме надо preventDefault добавить чтобы страница не обновлялось
Dlazder Мудрец (16875) 1 год назад
Этот человек настолько уверен что он пишет на java, что даже папку так назвал...
Вспомнил глупый (как мне тогда показалось) мем
 Когда оказалось, что вместо C++ ты 3 месяца изучал html 
Я тогда подумал что так не бывает, как же я ошибался...
Похожие вопросы