Каков наилучший способ ограничить количество текста, которое можно ввести в "textarea"?

Каков наилучший способ ограничить количество текста, которое пользователь может ввести в поле "textarea" на веб-странице? Данное приложение представляет собой ASP.NET, но предпочтительным является агностический ответ платформы.

Я понимаю, что для этого требуется некоторое количество javascript, поскольку я не хочу фактически выполнять "пост" с таким количеством данных, если это возможно, поскольку ASP.NET имеет верхний предел размера попросите, чтобы он обслуживал (хотя я не знаю, что это точно).

Итак, может быть, реальный вопрос: какой лучший способ сделать это в javascript, который будет соответствовать следующим критериям:

-Можно работать одинаково хорошо для обоих пользователей, просто набирая данные и копируя/вставляя данные из другого источника.

-Мы должны быть как можно более дружественными к "508".

Ответ 1

используйте элемент управления RegularExpressionValidator в ASP.Net для проверки количества символов вместе с обычной проверкой

Ответ 2

function limit(element, max_chars)
{
    if(element.value.length > max_chars)
        element.value = element.value.substr(0, max_chars);
}

Как javascript и...

<textarea onkeyup="javascript:limit(this, 80)"></textarea>

Как XHTML. Замените 80 желаемым лимитом. Я так и делаю это.

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

Ответ 3

Самая удобная для пользователя идея кажется мне решением, таким как Twitter-one. Предоставьте визуальную индикацию того, что пользователь пересек максимум, но не ограничивает его при вводе.

Независимо от того, какой Javascript вы используете, вам все равно придется проверять на сервере. В противном случае пользователи с отключенным Javascript смогут обойти ваш лимит.

Ответ 4

Как сказал Джаваш, вам все равно придется проверять серверную сторону. Мы использовали jQuery плагин проверки валидатора, который поддерживает максимальную длину среди тонов других вещей...

Ответ 5

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

function CountLength(vControl)
    {
        var strValue = vControl.value;
        var vMax = 480;
        var vLeft = vMax - strValue.length;
        if (vLeft < 0)
        {
            vLeft = 0;
        }
        var vMessage = returnObjById('TextCounter');
        if (document.all)
        {
            vMessage.innerText = vLeft + ' characters remaining.';
        }
        else
        {   
            vMessage.textContent = vLeft + ' characters remaining.';
        }
        if (vLeft == 0)
        {
            vControl.value = vControl.value.substring(0, vMax);
        }
    }

Ответ 6

jQuery также предоставляет некоторые параметры здесь. Параметры, параметры и параметры.