Была необходимость написать небольшую процедурку, которая бы проверяла во всех ли радиобоксах группы пользователь поставил точку. При этом основная заморочка заключалась в том, что это тест, в котором кроме радиобоксов, еще иногда могут встречаться тестовые инпуты и чекбоксы. Думал, что за 30 минут, я найду нужную мне функцию в интернете…
Не тут-то было. Валидаторов радиобоксов там действительно как грязи, но на серьезных тестах, они почему-то сыпались. Пришлось написать свой универсальный валидатор форм.
function checkform(f)
{
var flag = true;
var prev = "";
for (var i = 0; i < elements.length; i++) {
var el = f.elements[i];
if (el.type == 'radio') {
if (prev != el.name)
{ if (!flag)
{
alert('Warning! No answer selected');
return false;
}
flag = false;
prev = el.name;
}
flag = flag || el.checked;
} }
return true; }