Esta es una pequeña traduccion de un articulo que me encontre y se me hizo buena idea traducirlo y ponerlo a la dispocicion de todos.

El articulo se llama «Select All» JavaScript for Forms Posting to an Array

Bien este articulo nos explica lo siguiente:

El problema original es que al enviar nuestro formulario a un script PHP, con el fin de tener el resultado de una matriz de controles (cuando se utiliza una serie de casillas de verificación, por ejemplo), la forma más rápida de hacer esto es añadir «[]» para el nombre del elemento ( Por ejemplo ‘name = «zona[]»). Luego, PHP puede acceder a $ _POST [ ‘zona’] como una matriz en el script.

Pero lamentablemente, la adición de corchetes causas problemas con JavaScript, especialmente con una función «Seleccionar todo». El siguiente script funciona en torno a el uso de expresiones regulares, y puede ser útil a alguien que experimente este mismo problema más adelante.

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <title>Checkbox Fun</title>
  5. <script type="text/javascript"><!--
  6.  
  7. var formblock;
  8. var forminputs;
  9.  
  10. function prepare() {
  11.  formblock= document.getElementById('form_id');
  12.  forminputs = formblock.getElementsByTagName('input');
  13. }
  14.  
  15. function select_all(name, value) {
  16.  for (i = 0; i < forminputs.length; i++) {
  17.    // regex here to check name attribute
  18.    var regex = new RegExp(name, "i");
  19.    if (regex.test(forminputs[i].getAttribute('name'))) {
  20.      if (value == '1') {
  21.        forminputs[i].checked = true;
  22.      } else {
  23.        forminputs[i].checked = false;
  24.  }
  25.    }
  26.  }
  27. }
  28.  
  29. if (window.addEventListener) {
  30.  window.addEventListener("load", prepare, false);
  31. } else if (window.attachEvent) {
  32.  window.attachEvent("onload", prepare)
  33. } else if (document.getElementById) {
  34.  window.onload = prepare;
  35. }
  36.  
  37. //--></script>
  38. </head>
  39.  
  40. <body>
  41.  
  42. <form id="form_id" name="myform" method="get" action="search.php">
  43.  
  44.   <a href="#" onClick="select_all('area', '1');">Check All Fruit</a> | <a href="#" onClick="select_all('area', '0');">Uncheck All
  45. Fruit</a><br /><br />
  46.  
  47.   <input type="checkbox" name="area[]" value="1" />Apples<br />
  48.   <input type="checkbox" name="area[]" value="2" />Bananas<br />
  49.   <input type="checkbox" name="area[]" value="3" />Chickens<br />
  50.   <input type="checkbox" name="area[]" value="4" />Stoats
  51.  
  52.   <br /><br /><a href="#" onClick="select_all('location', '1');">Check All Locations</a> | <a href="#" onClick="select_all('location',
  53. '0');">Uncheck All Locations</a><br /><br />
  54.  
  55.   <input type="checkbox" name="location[]" value="1" />Brighton<br />
  56.   <input type="checkbox" name="location[]" value="2" />Hove<br />
  57.  
  58. </form>
  59.  
  60. </body>
  61. </html>