Il problema sta nel codice della funzione javascript:

codice:
<script type="text/javascript">
    function addchart(){
      var b = document.getElementById("elenco").getElementsByTagName("b")
      var codice = b[0].innerHTML
      alert("Aggiunto al carrello "+codice+"!")
      document.getElementById("elenco").action = "addchart.php?codice="+escape(codice)
      document.getElementById("elenco").submit()
    }
  </script>
Così dovrebbe andare. (EDIT: No, non esegue lo stesso il submit comunque il problema sta nel javascript e non nel codice php)
document.elenco dava errore e bloccava lo script


P.S. se aggiungevi un alert dopo l'assegnazione dell'action ti accorgevi che tale alert non veniva eseguito e che quindi il problema stava in mezzo ai 2 alert



EDIT 2:Risolto in parte:


codice:
<script type="text/javascript">
    function addchart(){
      var b = document.getElementById("elenco").getElementsByTagName("b")
      var codice = b[0].innerHTML
      alert("Aggiunto al carrello "+codice+"!")
      document.carrello.action = "addchart.php?codice="+escape(codice)
      document.carrello.submit()
    }
  </script>
Il form si chiama "carrello" e non "elenco".
Elenco è la tabella ed l'evento action e submit li ha il form.

A parte che non viene passato il parametro alla pagina PHP almeno il resto funziona...