Оберните все в форму. Определите его, а затем получите доступ к значениям элементов формы, например, для цвета:
form.elements["color"].value
Также добавлены вейлы для еды и школы, чтобы получить к нему одинаковый доступ. Это то, что вы хотели?
Также, если это будет форма для отправки, вам просто нужно добавить обязательные для одной группы переключатели, чтобы HTML выполнила проверку, и пользователь должен был выбрать один из группы , И только выбранное значение будет отправлено с помощью кнопки отправки, вам не нужно JS для этого.
Надеюсь, это поможет, у меня нет проблем с пониманием того, что вы хотите.
function validateForm(){
var form = document.getElementById("test");
if(! (blue.checked || red.checked)){
color.textContent="Please select a color";
}
else{
color.textContent=(form.elements["color"].value);
}
if(! (pizza.checked || cake.checked)){
food.textContent="Please select a food";
}
else{
food.textContent=(form.elements["food"].value);
}
if(! (yes.checked || no.checked)){
school.textContent="Please select an option if you go to school";
}
else{
school.textContent=(form.elements["school"].value);
}
}
<form id="test">
<tr>
<td><label>Whats your favorite color:</label:>
</td>
<div id="color"></div>
<td>
<fieldset id="group1">
<input id="blue" type="radio" value="blue" name="color">Blue
<input id="red" type="radio" value="red" name="color">Red
<div>
</div>
</fieldset>
</td>
</tr>
<tr>
<td><label>What is your favorite food:</label></td>
<div id="food"></div>
<td>
<fieldset id="group2">
<input type="radio" id="pizza" name="food" value="Pizza">Pizza
<input type="radio" id="cake" name="food" value="Cake">Cake
</fieldset>
</td>
</tr>
<tr>
<td><label>Do you go to school:</label></td>
<div id="school"></div>
<td>
<fieldset id="group3">
<input type="radio" id="yes" name="school"value="Yes">Yes
<input type="radio" id="no" name="school" value="No" >No
</fieldset>
</td>
</tr>
<input type="button" value="Save" onclick="validateForm();" />
</form>