il codice che ti posto funziona solo con IE ... è già una cosa!

codice:
<html> 
<head> 
<script >
     function rectesto() {
  testo = document.getElementById("tarea").firstChild.nodeValue;
     testo = document.selection.createRange().text   
     alert(testo)
  }

</script> 
</head> 
<body > 

<form>
<textarea id="tarea">Tutto il testo Tutto il testo Tutto il testo 

</textarea>

<input type="button" value="clicca" onclick="rectesto()" />
</form>

</body> 
</html>
fare apparire l'alert (come prima) è solo per verificare l'effetto. infatti puoi selezionare solo una parte di scritto, anche con gli spazi, e ti appare nell'alert. Quindi per beccare lo scritto selezionato puoi usare quel cod.
non ti funziona con i browser seri xchè con questi, se clicchi su un pulsante ti deseleziona il testo. allore è da usare il metodo onmouseup.
tuttavia non ho capito bene come sfruttarlo in questa circostanza
ciao