Der er nok stadig et par ting, jeg personligt ville gøre anderledes. For det første er
name attributten ikke nødvendigvis unik, hvorfor der
kan være flere FORM's med samme name. Faktisk kan man helt undgå funktionernes opslag, der finder formen =)
Desuden gælder det principielt for løkker, at man bør begrænse arbejdet så meget som muligt indenfor løkken. F.eks. bør array-opslag være så simple som muligt, hvorfor jeg ville lægge en reference til formens
elements collection udenfor løkken:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
</style>
<script type="text/javascript">
function CheckAll(elmForm) {
var e, aElms = elmForm.elements;
for (var j=0,lng=aElms.length; j<lng; j++) {
e = elmForm[j];
if (e.getAttribute("type")==="checkbox") e.checked = true;
}
}
function UnCheckAll(elmForm) {
var e, aElms = elmForm.elements;
for (var j=0,lng=aElms.length; j<lng; j++) {
e = aElms.elements[j];
if (e.getAttribute("type")==="checkbox") e.checked = false;
}
}
</script>
</head>
<body>
<form action="#" method="post">
<input type="checkbox" name="cb[]">
<input type="checkbox" name="cb[]">
<input type="checkbox" name="cb[]">
<input type="checkbox" name="cb[]">
<input type="checkbox" name="cb[]">
<input type="button" name="send" value="check all" onclick="CheckAll(this.form)">
<input type="button" name="send" value="Uncheck all" onclick="UnCheckAll(this.form)">
<form>
</body>
</html>