Non mi piace l'uso che fai delle varibili con nome simile: in qualche browser Action e action potrebbero essere la stessa cosa.

La proprieta` checked puoi applicarla solo ad alcuni tipi di campi, non a tutti.

Inoltre dai il submit due volte.

Provo a riscrivere, ma mancano una serie di elementi, per cui studiati il codice, ma dovrai rielaborarlo.
codice:
function goAction() {
  var str = 'http://.........jsp';
  for(var i=0; i<document.myForm.elements.length; i++){
    var cc = document.myForm.elements[i];
    if(cc.type=='checkbox' && cc.checked) {	
      str += "&" + cc.name + "=" + cc.value;
    } 
  }
  document.myForm.action = str;
  alert(document.myForm.action);
  window.location.href=str; // questo invia la pagina; il form non viene inviato
  return false;	
}
da chiamare con:
<form action="" method="get" name="myForm" onsubmit="goAction(this);">
...
<input type="submit" value="Costruisci action" name="invia">

Ancora non ho chiaro perche` vuoi scrivere nell'action tutti i campi. In tal caso non ha senso inviare il form, dato che farebbe la stessa cosa.