ciao. Ho un problema con readonly.

in html ho:

codice:
<form action="pagina.php" name="insImmobile" method="post">
<table>
<tr> 
<td>Prezzo in &euro;</td>
<td><input type="text" class="input" name="i_prezzo"></td>
</tr>
<tr> 
<td colspan="2">Trattative riservate: 
  Si <input type="radio" name="riservato" class="radioButton" value="si" onClick="tratriserv(this);"> 
  No <input type="radio" checked class="radioButton" name="riservato" value="no" onClick="tratriserv(this);">
</td>
</tr>
</table>
</form>
questa è invece la funzione tratriserv():
codice:
function tratriserv(riservato)
{
	path = document.insImmobile;
	if(riservato.value == "si")
	{
		path.i_prezzo.value = "Trattative riservate";
		path.i_prezzo.readonly = true;
	} else {
		path.i_prezzo.value = "";
		path.i_prezzo.readonly = false;
	}
}
nel campo i_prezzo, una volta cliccato su "si" mi compare "Trattative riservate" ma cmq il campo può ancora essere modificato.

Dove sbaglio?