Ho risolto, in pratica voleva un "button", il mio html è diventato
codice:
<div style="position:absolute; left:618px; top:8px;">
<input type="submit" name="button" id="tasto_invia" value="" style="background-image:url(image/invia.png); background-color:transparent; width:92px; height:105px; border:none; cursor:pointer;" onmouseover="seleziona('tasto_invia','_1')" onmouseout="seleziona('tasto_invia','')"/>
</div>
ed il js
codice:
function invia_messaggio(){
 codice=$("#codice").text();
 messaggio=$("#messaggio").val();


 errore=0;
 //controllo che sia compilato
 if (messaggio==""){
  errore=1;
  alert('Inserire un messaggio da inviare!');
 }
 if (errore==0){
       if(window.XMLHttpRequest){
                xmlhttp = new XMLHttpRequest();
            }else{
                xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
            };


   parameters = 'codice='+codice+'&messaggio='+messaggio;
            xmlhttp.open('POST','invia_messaggio.asp',true);
            xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   
            xmlhttp.onreadystatechange = function(){
                if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
                    //document.getElementById('message').innerHTML = xmlhttp.responseText;
     alert("ok");
                };  
            };


            xmlhttp.send(parameters);
 }
 
}