21

テキストフィールドに書くものはすべて大文字にしたい。私が書いているように、焦点を失った後ではありません。

jQueryを使用してこれを行うにはどうすればよいですか?

4

5 に答える 5

66

これにはCSSを使用します。

スタイリングに追加text-transform: uppercaseするだけで、サーバー側で大文字に変換できます。

input {
  text-transform: uppercase;
}
于 2010-10-04T19:39:21.850 に答える
14
$('input[type=text]').keyup(function() {
    $(this).val($(this).val().toUpperCase());
});
于 2010-10-04T19:39:12.800 に答える
5

使用
oninput='this.value=this.value.toUpperCase();
このイベントはそのような場合にのみ発生し、ユーザー入力(キーを押す)後、更新(値の表示)の前に発生するため、この入力されたテキストでは変換中にちらつきがなく、値も正しいです(スタイルのみを使用するのとは異なります)実際のデータを変更せずに表示を変更します)。

于 2014-01-16T17:02:09.253 に答える
1

これらを組み合わせて使用​​する必要がある場合があります。

text-transformスタイルを使用すると、タイプは大文字でのみレンダリングされますが、値は小文字である可能性があります。

javascriptは、フィールドが変更されるかフォーカスが失われると、現在のテキストを上位に変更するだけです。

gazlerのjqueryまたは単にインラインjavascriptを使用できます

例:onblur ='javascript:this.value = this.value.toUpperCase();'

これは、テキスト値が大文字で表示され、値が変更されたとき/コントロールがフォーカスを失ったときに実際に大文字になることを意味します。

HTHサム

于 2010-10-04T20:18:02.040 に答える
0

@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 );
})
于 2017-02-26T16:06:04.573 に答える