Как сделать, чтобы все в текстовом поле было заглавными или прописными? - PullRequest
21 голосов
/ 04 октября 2010

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

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

Ответы [ 5 ]

66 голосов
/ 04 октября 2010

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

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

input {
  text-transform: uppercase;
}
14 голосов
/ 04 октября 2010
$('input[type=text]').keyup(function() {
    $(this).val($(this).val().toUpperCase());
});
5 голосов
/ 16 января 2014

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

1 голос
/ 05 октября 2010

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

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

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

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

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

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

HTH Sam

0 голосов
/ 26 февраля 2017

Чтобы построить ответ @ 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 );
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...