Я хочу, чтобы все, что я пишу в текстовом поле, было заглавными буквами. Как я пишу, не теряя внимания.Как сделать все в текстовом поле заглавными буквами/прописными буквами?
Как это сделать с помощью jQuery?
Я хочу, чтобы все, что я пишу в текстовом поле, было заглавными буквами. Как я пишу, не теряя внимания.Как сделать все в текстовом поле заглавными буквами/прописными буквами?
Как это сделать с помощью jQuery?
Я бы использовал CSS для этого.
Просто добавьте text-transform: uppercase
к вашему дизайну, а затем со стороны сервера вы можете преобразовать его в верхний регистр.
input {
text-transform: uppercase;
}
$('input[type=text]').keyup(function() {
$(this).val($(this).val().toUpperCase());
});
-1 Только изменения после потери фокуса, а не как вы печатаете. http://jsfiddle.net/XJKgs/ – Greg
Действительная точка должна сочетаться с решением Brandon, чтобы правильно изменить его на стороне клиента. Изменен код немного для обновления при нажатии клавиши. – Gazler
Я удалил свой downvote, потому что теперь он делает то, что спрашивает OP. Но если бы я был пользователем веб-сайта, который сделал это «изменение ключа», я бы выследил ответственного человека **. Видя, как буквы меняются, когда вы печатаете, вы дезориентируете, и попытка вернуться к редактированию введенных вами значений вызывает разочарование, поскольку курсор продолжает двигаться до конца. http://jsfiddle.net/HPapz/1/ – Greg
Возможно, вам потребуется использовать комбинацию из них.
, используя стиль текстового преобразования, отображает только тип в верхнем регистре, хотя значение может быть строчным.
Javascript изменится только текущий текст в верхний раз меняется поле или фокус теряется
вы можете использовать JQuery gazler или просто рядный Javascript
например ONBLUR = 'JavaScript: this.value = this.value.toUpperCase();'
Это означает, что текстовое значение будет отображаться в верхнем регистре и фактически быть верхним, когда значение изменяется/управление теряет фокус.
НТН Сэм
Я могу использовать onKeyUp – randomizertech
Единственная проблема с onblur заключается в том, что если пользователь просто нажимает клавишу ввода, скажем, чтобы отправить форму, текст не будет в верхнем регистре. – Joseph
Использования oninput='this.value=this.value.toUpperCase();
Это событие как раз для таких случаев, срабатывает после ввода пользователя (нажатие клавиши), но перед обновлением (отображается значение), так что с этим набранным текстом не будет мерцать при преобразовании, а также правильность значения (не только использование только стиля для изменения отображения без изменения реальных данных).
Чтобы построить на @ ответ 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);
})
Вы можете добавить класс или этот стиль программно с помощью jQuery, если хотите, но это, вероятно, то, что вам нужно. –
интересный подход – mcgrailm
+1, хорошо, я тоже думал о всех видах jquery/js решений, но это лучше – Michel