utilizzi l'evento onKeyDown su window:

Codice PHP:
window.onKeyDown = function(e)
{
   
// Tutti i browser tranne Firefox (mi sembra solo firefox) salvano l'evento corrente in window.event. 
   //Firefox invece lo passa come argomento alla funzione. Per questo devo controllare in questo modo
   
var evt window.event window.event e;
   
   
//C'è un problema come sopra: tutti i browser tranne IE usano il target, IE ha solo srcElement ad 
   //indicare l'elemento dal quale è partito l'evento
   
var target evt.target evt.target evt.srcElement

   
//Ora, io sono impazzito per ore prima di capire che Opera scrive i type, i tag ed altri attributi fissi in MAIUSCOLO Grrr
   
if(target.tagName.toUpperCase() == 'TEXTAREA')
   {
       
//Qui sei sicuro che stai intercettando l'evento di tutte le textarea
       
var code evt.keyCode;
       if(
code == 13 || code == 3)
       {
           
//E' stato premuto invio, fai quello che vuoi.
           //Se ti chiedi perché il 3, è perché ho scoperto, sempre con MAGGIORE ALLEGRIA, 
           //che Mac OS da un codice diverso al invio di destra, dato che lo usa per particolari azioni.
       
}
   }

N.B. se fai ritornare false alla funzione, nel textarea non verrà visualizzato l'a capo.