Uma das maneiras de “travar” o campo é a propriedade readonly.
Ex.:
<input type="text" name="codEmpresa" size="8" maxlength="8" readonly>
No caso acima o campo SEMPRE estará “travado” para alterações, contudo, o seu conteúdo ainda é submetido (submit).
Agora, se você quer o campo travado num determinado momento e destravado num outro momento daí entra um pouco de javascript.