codice:
function cambia(val){
if(val=="nuovo"){
document.getElementById('id_textarea').style.visibility='visible';
document.nomeForm.action='nuova_action.htm';
}
else {
document.getElementById('id_textarea').style.visibility='hidden';
document.nomeForm.action='vecchia_action.htm';
}
}
<select onchange="cambia(this.options[this.selectedIndex].value)">
<option value="bla">bla</option>
<option value="nuovo">bla</option>
<option value="blabla">bla</option>
se lavori con la visibility la textarea occupa spazio anche se nascosta, con il display no
i valori nel caso del display sono "block" al posto di "visible" e "none" al posto di "hidden"
ciao