Этот скрипт ниже должен поставить вас на правильный путь, возможно?
Вы можете оставить этот HTML таким же (хотя я изменил метод на POST):
<form method="POST" id="subscribeForm">
<fieldset id="cbgroup">
<div><input name="list" id="list0" type="checkbox" value="newsletter0" >zero</div>
<div><input name="list" id="list1" type="checkbox" value="newsletter1" >one</div>
<div><input name="list" id="list2" type="checkbox" value="newsletter2" >two</div>
</fieldset>
<input name="submit" type="submit" value="submit">
</form>
и этот JavaScript проверяет
function onSubmit()
{
var fields = $("input[name='list']").serializeArray();
if (fields.length === 0)
{
alert('nothing selected');
// cancel submit
return false;
}
else
{
alert(fields.length + " items selected");
}
}
// register event on form, not submit button
$('#subscribeForm').submit(onSubmit)
и рабочий пример вы можете найти здесь
ОБНОВЛЕНИЕ (октябрь 2012 г.)
Кроме того, следует отметить, что флажки должны иметь свойство "name", иначе они не будут добавлены в массив. Только «id» не будет работать.
ОБНОВЛЕНИЕ (май 2013 г.)
Переместил регистрацию отправки в javascript и зарегистрировал отправку в форме (как это должно было быть изначально)
ОБНОВЛЕНИЕ (июнь 2016 г.)
Изменения == в ===