basta che metti l'attributo readonly="readonly" all'input:

codice:
<input id="MyReadonlyInput" type="text" value="You cannot type here..." readonly="readonly" name="readonly-input" />
Programmaticamente in js puoi alterare la proprietà con:

codice:
//Aggiunge readonly all'input il cui id è passato
var setReadonly = function(id){
   document.getElementById(id).setAttribute('readonly', 'readonly');
}
//Rimuove readonly all'input il cui id è passato
var removeReadonly = function(id){
   document.getElementById(id).removeAttribute('readonly');
}

//Cambia il readonly in base a quello attuale: se c'è lo toglie, altrimenti lo mette
var toogleReadonly = function(id){
   if(document.getElementById(id).readonly)
       removeReadonly(id);
   else
       setReadonly(id);
}
Basta che chiami setReadonly("MyReadonlyInput") per impostare il readonly, o removeReadonly("MyReadonlyInput") per rimuoverlo, oppure toogleReadonly("MyReadonlyInput") per cambiare quello attuale