Come modificare il font standard dei campi INPUT disabilitati


E' sicuramente una banalità ma può servire a risparmiare tempo...


In IE, contrariamente ad altri browser, non è possibile modificare il font standard dei campi INPUT disabilitati (Enabled="false") e quindi è inutile cercare nella sintassi dei CSS un comando adatto allo scopo. Non è quindi possibile cambiare il colore del testo in un campo disabilitato.


Per ovviare al problema io utilizzo l'evento onFocus ed i css per ottenere un campo che si comporti come se fosse disabilitato ma con la possibilità di personalizzarne l'aspetto. Ecco un esempio:

<input name="MyTextbox" value="MyValue" type="text" 
class="locked" onfocus="blur();" />

dove ad esempio la classe "locked" è così definita:

.locked
{
cursor:default;
color:Navy;
background-color: #ccffff;
}

In particolare:



  • imposto onfocus="blur();" per ottenere che il controllo non mantenga mai il focus; quindi sarà impossibile modificarne il contenuto

  • poi, con cursor:default nel css, imposto il tipo di cursore (per evitare che appaia la classica I di modifica e che l'utente consideri il campo come editabile)

A questo punto avrà effetto anche il colore del font nel foglio di stile (color:Navy😉 come desiderato.


HTH

Skip to main content