Questo è il meglio che sono riuscito a fare:
codice:
<script language="javascript" type="text/javascript">
<!--
function captureEnter(e, obj) {
var e = e || window.event;
if (e.which == 13 || e.keyCode == 13) {
if(e.preventDefault) e.preventDefault();
else e.returnValue == false;
obj.value = "";
obj = obj.parentNode.appendChild(obj);
obj.focus();
}
}
//-->
</script>
<textarea id="ciao" onkeydown="captureEnter(event, this);" style="height: 300px;"></textarea>
I problemi sono 2:
- la textarea dovrebbe stare in un box che contiene solo la textarea, o almeno la textarea deve essere l'ultimo figlio di questo.
- in IE il focus non funziona ( onestamente non capisco il perchè ) e l'utente dovrà cliccare nuovamente sulla textarea.
A questo punto potresti prendere in considerazione la possibilità di ricreare la textarea di nuovo usando ad esempio innerHTML.