Проблема с использованием заглавной буквы первой буквы текстового поля
Я использую следующий код, чтобы использовать заглавные буквы в текстовом поле. Проблема в том, что когда вы переходите к другому текстовому полю, затем вкладываете назад и вводите что-то, оно не стирает то, что есть.. оно добавляет то, что вы вводите.
Это можно исправить?
$(function () {
$('.userBox').on('DOMAttrModified textInput input keypress paste focus',
function (e) {
$(this).val($(this).val().slice(0, 1).toUpperCase() +
$(this).val().slice(1));
});
});
2 ответа
<script type="text/javascript" language="javascript">
function Capitalize(id) {
var txt = document.getElementById(id);
txt.value = txt.value.replace(/\w\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); });
}
</script>
Сарат @f1
Я бы просто привязал фокус к другой функции, которая очистит содержимое поля ввода. Вот так:
$('.userBox').on('focus', function (e) {
$(this).val("");
});
Тогда у вас, по сути, будет http://jsfiddle.net/KWRef/.
Разве я пропустил что-то, что ты хотел сделать?