Qué tal,
no te funciona porque no coinciden los nombre del check con lo que le pasas al llamar a la función.
pídeselo así
<input type="checkbox" id="list" name="list" >
en vez de así
<input type="checkbox" id="list" name="list
[]" >
No acepta esto
checkall(this.form.list
[])
Esos corchetes los toma como un error de sintaxis.
Si necesitas los corchetes para algo vale más que se los pongas al recoger los datos del formulario desde php
un saludo