Originariamente inviato da hab 
<script type="text/javascript" language="javascript">
   
var http_request = false;
   function makePOSTRequest(url, parameters) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      
      http_request.onreadystatechange = alertContents;
      http_request.open('POST', url, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
   		stringa_post; 
//<-- ELIMINA QUESTA RIGA 
   }
   function alertContents() {
      if (http_request.readyState == 4) {
         if (http_request.status == 200) {
            alert(http_request.responseText);
            result = http_request.responseText;
            document.getElementById('myspan').innerHTML = result;            
         } else {
            alert('There was a problem with the request.');
         }
      }
   }
   
var elenco_input = new Array();
var elenco_checkbox = new Array();
var elenco_selezionati = new Array();
var stringa_post = ""; // definisco stringa_post fuori dalla funzione controllaCheckbox 
var s = 0;
elenco_input = document.getElementsByTagName("input");
for (i=0; i<elenco_input.length; i++) {
if (elenco_input[i].getAttribute("type") == "checkbox") {
elenco_checkbox[s] = elenco_input[i];
s++;
}
}
function controllaCheckbox() {
elenco_selezionati = Array(); //azzero l'elenco di quelli selezionati
var p=0;
	for (i=0; i<elenco_checkbox.length; i++) {
		if (elenco_checkbox[i].checked == "true") {
		elenco_selezionati[p] = elenco_checkbox[i];
		p++;
		}
	}
	for (i=0; i<elenco_selezionati.length; i++) {
	elenco_selezionati[i] = elenco_selezionati[i].getAttribute("id");
	}
	
	stringa_post = ""; 
<-- Ho tolto "var", e "azzero" la stringa ad ogni chiamata della funzione
	for (i=0; i<elenco_selezionati.length-1; i++) {
	stringa_post = stringa_post + i + "=" + elenco_selezionati[i] + "&";
	}
	stringa_post = stringa_post + (elenco_selezionati.length - 1) + "=" + elenco_selezionati[elenco_selezionati.length-1];
}
-->
</script>
e poi la parte in php:
<form name="tablesForm" method="post" action="javascript
:makePOSTRequest('post.php',stri  nga_post);" id="myform" >
.
.
.
echo "\n<tr>\n";
	echo "\n<td><input id='$id' type='checkbox' name='selected_tbl[]' value='$i' onclick='controllaCheckbox()' ></td>\n";
    $elenco_id = $elenco_id . $i . "\", \""; //da mettere ogni volta che hai un nuovo $id
	      	foreach ($keys as $k) 
				{
		  		echo "<td>" . $row[$k] . "</td>\n";
		  		}
    
	echo "</tr>\n";
.
.
.
<input type="submit" name="remove" value="remove" >
ho evitato di mettere alcune parti inutili del form tipo <table> che cmq ci sono gia..