perchè
var cb = document.getElementById('perforazione');
non restituisce un array
restituisce un singolo object che probabilmente avrà proprietà 'length' undefined
se vuoi che cb sia una collection di checkboxes devi scrievre ad esempio
codice:
var cb = [];
var tutti_gli_input_della_pagina = document.getElementsByTagName('input');
var numero_di_tutti_gli_input_della_pagina = tutti_gli_input_della_pagina.length;
for (
var indice_del_ciclo = 0;
indice_del_ciclo < numero_di_tutti_gli_input_della_pagina;
indice_del_ciclo++
) {
if (tutti_gli_input_della_pagina[indice_del_ciclo].type.toString().toLowerCase() == 'checkbox') {
cb[cb.length] = tutti_gli_input_della_pagina[indice_del_ciclo]
}
}
alla fine la variabile cb contiene tutte le checkbox della pagina