maxlength в форме textarea не работает ?

Тема в разделе "Веб-дизайн", создана пользователем sounde, 3 мар 2009.

Статус темы:
Закрыта.
Модераторы: zek24
  1. sounde

    sounde

    Регистр.:
    12 сен 2008
    Сообщения:
    391
    Симпатии:
    64
    Привет всем!
    Хотел ограничить максимально вводимое кол-во символов в поле
    <textarea> (большое поле с размеров 5х60) при помощи maxlength но этот прием не работает почему-то.
    Ктонибудь знает, есть возмжность ограничить кол-во вводимых символов в поле textarea ?
    На JS не хочется делать.
     
  2. vornic

    vornic

    Регистр.:
    8 июн 2006
    Сообщения:
    167
    Симпатии:
    13
    Неа, не работает, юзай скрипт:

    HTML:
    <script type="text/javascript">
    function ismaxlength(obj){
       var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
       if (obj.getAttribute && obj.value.length>mlength)
       obj.value=obj.value.substring(0,mlength)
    }
    
    </script>
    
    <textarea maxlength="40" onkeyup="return ismaxlength(this)"></textarea>
     
  3. NoN

    NoN Постоялец

    Регистр.:
    25 ноя 2008
    Сообщения:
    79
    Симпатии:
    33
    Если юзаеш библиотеку JQuery, то есть скриптик c отображение введенных симвовлов,

    Код:
    <script src="jquery.js" type="text/javascript"></script>
    
    
    <script type="text/javascript"><!–
    // создаём плагин maxlength
    jQuery.fn.maxlength = function(options) {
      // определяем параметры по умолчанию и прописываем указанные при обращении
      var settings = jQuery.extend({
        maxChars: 10, // максимальное колличество символов
        leftChars: "character left" // текст в конце строки информера
      }, options);
      // выполняем плагин для каждого объекта
      return this.each(function() {
        // определяем объект
        var me = $(this);
        // определяем динамическую переменную колличества оставшихся для ввода символов
        var l = settings.maxChars;
        // определяем события на которые нужно реагировать
        me.bind('keydown keypress keyup',function(e) {
          // если строка больше maxChars урезаем её
          if(me.val().length>settings.maxChars) me.val(me.val().substr(0,settings.maxChars));
          // определяем колличество оставшихся для ввода сиволов
          l = settings.maxChars - me.val().length;
          // отображаем значение в информере
          me.next('div').html(l + ' ' + settings.leftChars);
        });
        // вставка информера после объекта
        me.after('<div class="maxlen">' + settings.maxChars + ' ' + settings.leftChars + '</div>');
      });
    };
    // –></script>
    
    
    <script type="text/javascript"><!–
    $(document).ready(function(){
      $("#textarea").maxlength();
    });
    // –></script>
    <textarea id="textarea" style="width:100%; height:200px"></textarea>
    

    а так же библиотека:
    Ман: http://remysharp.com/2008/06/30/maxlength-plugin/
    Демка http://remysharp.com/demo/maxlength.html
     
Статус темы:
Закрыта.