Presumo dal codice che posti che tutte le checkbox, sia che siano una o mille, hanno lo stesso name
name="del"
La cosa sta così: quando tu hai piu checkboxes, del si riferisce cone name a una COLLEZIONE di oggetti, e come tale è dotata di length.
Ma se hai una sola checkbox, del si riferisce non più ad una collezione (array) che non c'è, ma all' oggetto input specificato - che come tale non è dotato di proprietà length.
var delx = document.test.del.length;
var conta = 0;
if(delx){//è una collezione
for (var i=0; i<delx; i++){ if (delx[i].checked){++conta;} }
}
else if(document.test.del.checked){//è una sola checkbox, ed è checked
++conta;
}
Non lo ho testato, ma grosso modo sarebbe così.