Ответ 1
используйте элемент управления RegularExpressionValidator в ASP.Net для проверки количества символов вместе с обычной проверкой
Каков наилучший способ ограничить количество текста, которое пользователь может ввести в поле "textarea" на веб-странице? Данное приложение представляет собой ASP.NET, но предпочтительным является агностический ответ платформы.
Я понимаю, что для этого требуется некоторое количество javascript, поскольку я не хочу фактически выполнять "пост" с таким количеством данных, если это возможно, поскольку ASP.NET имеет верхний предел размера попросите, чтобы он обслуживал (хотя я не знаю, что это точно).
Итак, может быть, реальный вопрос: какой лучший способ сделать это в javascript, который будет соответствовать следующим критериям:
-Можно работать одинаково хорошо для обоих пользователей, просто набирая данные и копируя/вставляя данные из другого источника.
-Мы должны быть как можно более дружественными к "508".
используйте элемент управления RegularExpressionValidator в ASP.Net для проверки количества символов вместе с обычной проверкой
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. Чтобы убедиться, вы также должны проверить свой серверный язык.
Самая удобная для пользователя идея кажется мне решением, таким как Twitter-one. Предоставьте визуальную индикацию того, что пользователь пересек максимум, но не ограничивает его при вводе.
Независимо от того, какой Javascript вы используете, вам все равно придется проверять на сервере. В противном случае пользователи с отключенным Javascript смогут обойти ваш лимит.
Как сказал Джаваш, вам все равно придется проверять серверную сторону. Мы использовали jQuery плагин проверки валидатора, который поддерживает максимальную длину среди тонов других вещей...
Я использую это, где предел является обязательным. Он также предоставляет пользователю количество оставшихся символов.
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);
}
}
jQuery также предоставляет некоторые параметры здесь. Параметры, параметры и параметры.