Используйте oninput='this.value=this.value.toUpperCase();
Это событие предназначено только для таких случаев, запускается после ввода пользователем (нажатие клавиши), но до обновления (отображения значения), поэтому при этом текст не будет мерцать при преобразовании, а значение также является правильным (не так, как использовать только стиль для изменения отображение без изменения реальных данных).
Ответ 4
Возможно, вам придется использовать комбинацию из них.
используя стиль текстового преобразования, отображает только тип в верхнем регистре, хотя значение может быть в нижнем регистре.
javascript только изменит текущий текст на верхний, если поле изменено или фокус потерян
вы можете использовать jazery gazler или просто встроенный javascript
Это означает, что текстовое значение будет отображаться в верхнем регистре и фактически быть верхним, когда значение изменяется/управление теряет фокус.
НТН
Сэм
Ответ 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 );
})