テキストフィールドに書くものはすべて大文字にしたい。私が書いているように、焦点を失った後ではありません。
jQueryを使用してこれを行うにはどうすればよいですか?
テキストフィールドに書くものはすべて大文字にしたい。私が書いているように、焦点を失った後ではありません。
jQueryを使用してこれを行うにはどうすればよいですか?
これにはCSSを使用します。
スタイリングに追加text-transform: uppercase
するだけで、サーバー側で大文字に変換できます。
input {
text-transform: uppercase;
}
$('input[type=text]').keyup(function() {
$(this).val($(this).val().toUpperCase());
});
使用oninput='this.value=this.value.toUpperCase();
このイベントはそのような場合にのみ発生し、ユーザー入力(キーを押す)後、更新(値の表示)の前に発生するため、この入力されたテキストでは変換中にちらつきがなく、値も正しいです(スタイルのみを使用するのとは異なります)実際のデータを変更せずに表示を変更します)。
これらを組み合わせて使用する必要がある場合があります。
text-transformスタイルを使用すると、タイプは大文字でのみレンダリングされますが、値は小文字である可能性があります。
javascriptは、フィールドが変更されるかフォーカスが失われると、現在のテキストを上位に変更するだけです。
gazlerのjqueryまたは単にインラインjavascriptを使用できます
例:onblur ='javascript:this.value = this.value.toUpperCase();'
これは、テキスト値が大文字で表示され、値が変更されたとき/コントロールがフォーカスを失ったときに実際に大文字になることを意味します。
HTHサム
@Gazlerの回答に基づいて構築するために、修飾キーをより適切に処理する拡張ソリューション(大文字と小文字が混在するプレースホルダーがあり、設定できないと仮定text-transform: uppercase;
):
$('.search-input input[type=text]').keyup(function() {
var v = $(this).val();
var u = v.toUpperCase();
if( v != u ) $(this).val( u );
})