Voglio rendere tutto ciò che scrivo in un campo di testo come lettere maiuscole. Mentre scrivo, non dopo aver perso la concentrazione.Come rendere tutto in un campo di testo maiuscolo/maiuscolo?
Come faccio a utilizzare jQuery?
Voglio rendere tutto ciò che scrivo in un campo di testo come lettere maiuscole. Mentre scrivo, non dopo aver perso la concentrazione.Come rendere tutto in un campo di testo maiuscolo/maiuscolo?
Come faccio a utilizzare jQuery?
Vorrei usare i CSS per questo.
Basta aggiungere text-transform: uppercase
allo stile, quindi sul lato server è possibile convertirlo in maiuscolo.
input {
text-transform: uppercase;
}
$('input[type=text]').keyup(function() {
$(this).val($(this).val().toUpperCase());
});
-1 solo le modifiche dopo aver perso messa a fuoco, non mentre scrivi. http://jsfiddle.net/XJKgs/ – Greg
Punto valido, dovrebbe essere combinato con la soluzione Brandon per cambiarlo correttamente lato client. Modificato leggermente il codice per l'aggiornamento su Keypress. – Gazler
Ho rimosso il mio downvote perché ora fa quello che l'OP chiede. Ma se fossi un utente di un sito web che ha modificato questa "chiave", ** darei la caccia al responsabile **. Vedere le lettere cambiare mentre digiti è disorientante, e provare a tornare a modificare ciò che hai digitato è frustrante perché il cursore continua a spostarsi verso la fine. http://jsfiddle.net/HPapz/1/ – Greg
Potrebbe essere necessario utilizzare la combinazione di questi.
utilizzando lo stile di trasformazione del testo restituisce solo il tipo in maiuscolo, sebbene il valore possa essere in minuscolo.
Il javascript cambierà solo il testo attuale in alto una volta che i cambiamenti di campo o di messa a fuoco è perso
è possibile utilizzare jQuery del gazler o semplicemente in linea javascript
esempio onblur = 'javascript: this.value = this.value.toUpperCase();'
Ciò significa che il valore del testo verrà visualizzato in maiuscolo e in realtà verrà sovrascritto quando il valore cambia/il controllo perde lo stato attivo.
HTH Sam
posso usare onKeyUp – randomizertech
L'unico problema con onblur è che se l'utente preme semplicemente il tasto Invio, ad esempio per inviare un modulo, il testo non sarà maiuscolo. – Joseph
Usa oninput='this.value=this.value.toUpperCase();
Questo evento è solo per questi casi, viene licenziato dopo l'input dell'utente (tasto premuto), ma prima di aggiornare (valore visualizzazione), quindi con questo testo digitato non sarà sfarfallio durante la conversione e anche il valore è corretto (non è come utilizzare solo lo stile per modificare la visualizzazione senza modificare i dati reali).
Per costruire su @ risposta di Gazler, una soluzione avanzata che le chiavi gestisce meglio modificatori (a patto che abbiate un segnaposto di maiuscole e minuscole e non è possibile impostare text-transform: uppercase;
):
$('.search-input input[type=text]').keyup(function() {
var v = $(this).val();
var u = v.toUpperCase();
if(v != u) $(this).val(u);
})
Puoi aggiungere una classe, o questo stile, in modo programmatico con jQuery se lo desideri, ma probabilmente è ciò di cui hai bisogno. –
approccio interessante – mcgrailm
+1, bello, stavo anche pensando a tutti i tipi di soluzioni jquery/js, ma questo è meglio – Michel