Questi campi di testo sono fantastici e sono comuni su siti Web 2.0 come Facebook.Rails text_field valore predefinito scompare al clic (e ombreggiato)
In sostanza anziché etichettare il campo di testo, è possibile risparmiare spazio inserendo l'etichetta all'interno del campo di testo. In genere il testo viene leggermente sfumato a colori e, quando l'utente fa clic nel campo di testo, il valore predefinito scompare e il colore passa al nero o al colore normale in modo che l'utente possa inserire il testo.
Finora questo è il modo ho la loro creazione:
# DEFAULT_VALUE = "email address"
<%= f.text_field :email,
:style => "color:#aaa;",
:value => DEFAULT_VALUE,
:onfocus => "if(this.getValue()=='#{DEFAULT_VALUE}'){this.clear();this.style.color = '#000';}",
:onblur => "if(this.getValue()==''){this.setValue('#{DEFAULT_VALUE}');this.style.color = '#aaa';}" %>
funziona questo fondo. Ma un problema che ho notato è che se si digita qualcosa nel campo e si invia un modulo che non riesce, il modulo verrà ricaricato con ciò che è stato digitato nel campo (come dovrebbe), ma il testo non viene visualizzato correttamente. Ciò si verifica anche se si fa clic sul browser. Visualizza il testo immesso (non il valore predefinito) ma il colore del testo non è selezionabile.
Esiste un metodo più semplice per risolvere questo problema? Grazie!
solo curiosità, Brian, dove hai preso il DEFAULT_VALUE costante? come l'hai impostato e dove? –
È una costante che può essere definita ovunque. –