Прописать первый символ ввода текста

1

Я не вижу, с чем я ошибаюсь. Мой код...

function firstC()
    {
        var x = document.getElementsByClassName("uValue");

        for(var i = 0; i < x.length; i++) {
            x.value.charAt(0).toUpperCase();
        }
    }

Он называется...

<td><input type="text" name="firstname" value="(required)" id="firstName" class="uValue" onclick="empty(this.id)" onblur="firstC()" /></td>

Функция empty() работает правильно, удалив значение поля ввода, если его значение "(обязательно)", но я не могу firstC() функцию firstC() использовать первый символ любого ввода.

EDIT: Я использую getElementsByClassName поскольку есть несколько ящиков ввода, которые я пытаюсь разрешить использовать одну и ту же функцию.

Теги:
for-loop
input
char
uppercase

2 ответа

2
Лучший ответ

Вы забыли присвоить значение обратно

function firstC()
    {
        var x = document.getElementsByClassName("uValue");

        for(var i = 0; i < x.length; i++) {
            x[i].value = x[i].value.charAt(0).toUpperCase() + x[i].value.substr(1);
        }
    }
  • 0
    Все равно не сработает :(
  • 0
    Извините, вы тоже пропустили индекс :-) (Исправлено в ответе)
Показать ещё 1 комментарий
2

Вместо this вы должны передать this в свои встроенные JS-события:

onclick="empty(this)" onblur="firstC(this)"

пример

function empty(el) {  // el now refers to the this referrer
  el.value="";
}

function firstC(el) {
  var val = el.value;
  el.value = val.charAt(0).toUpperCase() + val.substr(1);
}
<input type="text" onclick="empty(this)" onblur="firstC(this)"  value="(required)" id="firstName" class="uValue" name="firstname">

PS: не забывайте, что вместо использования empty() и value="(required)" вы можете просто использовать атрибут placeholder

placeholder="(required)"
  • 0
    Спасибо за ваш ответ. Приятно видеть альтернативные методы, и я проверил и этот, так что я знаю, что он работает :). Спасибо за внимание к заполнителю тоже!
  • 0
    Добро пожаловать, Мэтт! Удачного кодирования!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню