Ограничение текста в видимой области ввода

0

Обычно пользователь может вводить текст в текстовом поле. Чтобы ограничить характер, требуется много времени, так как нужно проверить, сколько символов можно ввести в поле ввода. Поэтому я старался следовать следующим образом.

$.fn.textWidth = function(text, font) {
    if (!$.fn.textWidth.fakeEl) $.fn.textWidth.fakeEl = $('<span>').hide().appendTo(document.body);
    $.fn.textWidth.fakeEl.text(text || this.val() || this.text()).css('font', font || this.css('font'));
    return $.fn.textWidth.fakeEl.width();
};

$('input').keyup(function(){
if($(this).innerWidth()< $(this).textWidth())
    {
    $(this).val($(this).val().substr(0,$(this).val().length-1));
    }

}); 

В консоли я получаю следующую ошибку:

Uncaught ReferenceError: textWidth is not defined 

Не могли бы вы предложить мне, что я должен делать?

  • 1
    вы уверены, что проблема не в $(this).innerwidth() , поскольку в jQuery такого метода нет, это innerWidth() (прописная innerWidth() W)
  • 0
    Спасибо, теперь работает хорошо, что я хотел.
Теги:

1 ответ

1

Вы можете просто использовать свойство maxlength в HTML, чтобы установить максимальную длину значения в символах, здесь нет необходимости в javascript:

<input type="text" name="foo" maxlength="20" />

Ещё вопросы

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