Подтвердить что ты не робот

Как сделать все в текстовом поле заглавными буквами/заглавными буквами?

Я хочу, чтобы все, что я пишу в текстовом поле, было заглавными буквами. Когда я пишу, не теряю фокус.

Как это сделать с помощью jQuery?

4b9b3361

Ответ 1

Я бы использовал CSS для этого.

Просто добавьте text-transform: uppercase к вашему стилю, а затем на стороне сервера вы можете преобразовать его в верхний регистр.

input {
  text-transform: uppercase;
}

Ответ 2

$('input[type=text]').keyup(function() {
    $(this).val($(this).val().toUpperCase());
});

Ответ 3

Используйте
oninput='this.value=this.value.toUpperCase();
Это событие предназначено только для таких случаев, запускается после ввода пользователем (нажатие клавиши), но до обновления (отображения значения), поэтому при этом текст не будет мерцать при преобразовании, а значение также является правильным (не так, как использовать только стиль для изменения отображение без изменения реальных данных).

Ответ 4

Возможно, вам придется использовать комбинацию из них.

используя стиль текстового преобразования, отображает только тип в верхнем регистре, хотя значение может быть в нижнем регистре.

javascript только изменит текущий текст на верхний, если поле изменено или фокус потерян

вы можете использовать jazery gazler или просто встроенный javascript

например. ONBLUR = 'JavaScript: this.value = this.value.toUpperCase();'

Это означает, что текстовое значение будет отображаться в верхнем регистре и фактически быть верхним, когда значение изменяется/управление теряет фокус.

НТН Сэм

Ответ 5

Чтобы использовать ответ @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 );
})