Остаток символов в textarea

Тема в разделе "JavaScript", создана пользователем AGENT131313, 18 май 2012.

Модераторы: ZiX
  1. AGENT131313

    AGENT131313 Забанен

    Регистр.:
    17 мар 2009
    Сообщения:
    279
    Симпатии:
    28
    Доброй ночи ребят. Помоги прилепить вот к это форме вывод остатка.
    Код:
    <textarea name="message" id="comments" onclick="setNewField(this.name, document.getElementById( 'dle-comments-form' ))"></textarea>
    На яндексе нашел несколько вариантов но чет нифига не пошли.
     
  2. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    Код:
    var x = "";
    var e = null;
     
    function cntchar(m) {
        if(window.document.forms[0].text.value.length > m) {
            window.document.forms[0].text.value = x;
        } else {
            x = window.document.forms[0].text.value;
        }
        if(e == null)
        e = document.getElementById('cntChars');
        else
        e.childNodes[0].data = window.document.forms[0].text.value.length;
    }
    
    HTML:
    <span id="cntChars">0</span> / 5000<textarea name="text" cols="40" rows="10" size="100" onkeyup="javascript:cntchar(5000)"></textarea>
    тут максимум 5000 символов...
    З.Ы. поправил html код!
     
  3. AGENT131313

    AGENT131313 Забанен

    Регистр.:
    17 мар 2009
    Сообщения:
    279
    Симпатии:
    28
    Чет не совсем понял. А как сам остатов вывести?? Типа Осталось 4568 символа.
    это правильно?
    Код:
    <script type="text/javascript">
    varx = "";
    vare = null;
     
    function cntchar(m) {
        if(window.document.forms[0].text.value.length > m) {
            window.document.forms[0].text.value = x;
        } else {
            x = window.document.forms[0].text.value;
        }
        if(e == null)
        e = document.getElementById('cntChars');
        else
        e.childNodes[0].data = window.document.forms[0].text.value.length;
    }</script>
     
  4. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    я малость с html кодом промахнулся... так должно работать:
    HTML:
    <span id="cntChars">0</span> / 5000<textarea name="text" cols="40" rows="10" size="100" onkeyup="javascript:cntchar(5000)"></textarea>
    если нужно изменить имя textarea то в яваскрипте нужно внести соответствующие изменения... например:
    name="message"
    соответственно x = window.document.forms[0].message.value;
    и т.д.
     
    AGENT131313 нравится это.
  5. AGENT131313

    AGENT131313 Забанен

    Регистр.:
    17 мар 2009
    Сообщения:
    279
    Симпатии:
    28
    Все отлично считает. А не подскажешь как в обратном направлении сразу от числа 5000 отсчитывало????
     
  6. PapaJoe

    PapaJoe

    Регистр.:
    4 авг 2008
    Сообщения:
    620
    Симпатии:
    312
    Код:
    e.childNodes[0].data = 5000-window.document.forms[0].text.value.length;
     
    AGENT131313 нравится это.
  7. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    я бы все таки использовал передаваемый параметр....
    Код:
    e.childNodes[0].data = m-window.document.forms[0].text.value.length;
     
    AGENT131313 нравится это.