Ciao. Dunque, alla funzione credo tu debba x forza passare il valore del radio a manina perchè non stai facendo un submit, per cui arriva undefined (almeno così mi è sembrato )

ti posto il codice che ho fatto io...tieni presente che ti ho messo entrambe le 2 opzioni che chiedevi (text disabilitata e invisibile)...pechè il codice funzioni devi sceglierne una e commentare l'altra



<script language="javascript" type="text/javascript">
<!--
function abilita(objectvalue){

if(objectvalue=='si'){

//1. se vuoi mostrare e cancellare la text
document.getElementById('div').style.display='bloc k';

//2. se vuoi rendere la text abvilitata e disabilitata
document.modulo.testo.disabled=false;

}else{

//1. se vuoi mostrare e cancellare la text
document.getElementById('div').style.display='none ';

//2. se vuoi rendere la text abvilitata e disabilitata
document.modulo.testo.disabled=true;

}

}
</script>



<form action="" method="get" name="modulo">
<input type="radio" name="domanda" value="si" onClick="abilita('si')">
<input type="radio" name="domanda" value="no" onClick="abilita('no')">
<div id="div"><input type="text" name="testo"></div>
</form>