Я бы не стал рассчитывать, что браузеры разрешат использовать атрибут name вместо идентификаторов.Если вы присваиваете всем своим флажкам уникальный идентификатор, вы можете просто использовать некоторые условные проверки, чтобы увидеть, проверяются ли какие-либо из них по отдельности, например:
function testCheckBox() {
var bikeCB = document.getElementById('bikeCB');
var carCB = document.getElementById('carCB');
if(bikeCB.checked) {
alert('An item is checked');
}else if(carCB.checked) {
alert('An item is checked');
}else { //after all have been checked
alert('No items are checked');
}
}
Хотя вам необходимо добавитьИдентификатор для каждого флажка в HTML:
<input type="checkbox" id="bikeCB" value="Bike" /> I have a bike<br />
<input type="checkbox" id="carCB" value="Car" /> I have a car
Если вы хотите выполнить циклическое переключение между флажками, вы можете присвоить своей форме идентификатор и использовать form.elements [] коллекция, чтобы пройти через них и проверить на предмет проверки:
function testCheckBox() {
var form = document.getElementById('form1'); //get reference to form
var length = form.elements.length; //get length of form.elements array
for(i=0; i<length; i++) { //loop through while i is less than array length
if(form.elements[i].checked) {
alert('An item was checked');
}
}
}
Это будет предупреждать для каждого флажка, который отмечен.Если вы просто хотели один раз узнать, были ли какие-либо проверены, вы можете установить для переменной значение true, если они были проверены, а затем проверить, была ли переменная истинной после цикла for, чтобы узнать, предупреждать или нет.
ПоКстати, вы, похоже, пропускаете закрывающий тег </form>
в своем html после элементов <input>
.