1 giugno 2011

FORM: eliminare un valore "di default" nell'input senza eliminare i dati inseriti dall'utente!

Quanti di voi hanno fatto un form simile a questo?

E quanti hanno imprecato contro i codici trovati online perché cancellavano i dati inseriti dall'utente al click?
O peggio ancora non riscrivevano il valore di default impostato da voi?


Esempio:



Questo è il codice che c'è sotto:


<input id="nome" value="Nome" type="text" onfocus="this.value=(this.value=='Nome')?'':this.value" onblur="this.value=(this.value=='')?'Nome':this.value">


Ci basterà inserire in Value cioè che vogliamo sia il nostro testo "di default" e assegnare queste funzioncine in javascript sull'evento onfocus e onblur:


Su onfocus gli diciamo: se quando ci spostiamo sul campo inpunt (in qualsiasi modo: attraverso il tab, il mouse etc..) il valore di questo oggetto corrisponde a Nome allora scrvi in questo campo quello che c'è tra gli apicetti (nel nostro caso non c'è nulla quindi lui sostituisce quello che c'è con niente!) altrimenti (ser questa condizione non è soddisfatta, quindi se il valore non è Nome) sostituisci il valore con il valore che c'è nel campo. Su onblur gli diciamo la cosa inversa: se il valore del campo è vuoto sostituisci con Nome, sennò lascia quello che c'è scritto!


Vale lo stesso per la programazione in asp:

<asp:TextBox ID="txt_name" runat="server" onfocus="this.value=(this.value=='Nome')?'':this.value" onblur="this.value=(this.value=='')?'Nome':this.value" value="Nome" />


Speriamo vi sia stato utile... Ciao a tutti e al prossimo post!>