Подскажиет как сделать maxlenght для textarea вместе с переносами строк.
К примеру есть текст:
Вот и наступил этот чудесный праздник, который
я так люблю – Новый Год! Я ждал его целый год!
Все это время я тщательно к нему готовился -
мастерил поделки для ребят, заготавливал
самые лучшие снежки и сосульки, припасал корм
для лесных зверюшек. Ведь и они тоже ждут моих
Как сделать ограничение на ввод символов смете с переносами строк?
Спустя 8 минут, 16 секунд (14.12.2011 - 13:49) Winston написал(а):
Сначала поставить maxlength="500"
А потом, чтобы код не отредактировали и не поставили больше значение, можно js написать
Или на php проверить strlen или mb_strlen
PS: Ф-ю выдрал с этого форума :ph34r:
А потом, чтобы код не отредактировали и не поставили больше значение, можно js написать
function CheckLength() {
MessageLength = document.ИмяФормы.ИмяПоля.value.length;
message = "";
MessageMax = 500;
if (MessageMax > 0) {
message = "Максимально допустимая длина " + MessageMax + " символов.";
} else {
message = "";
}
alert(message + " Вы использовали " + MessageLength + " символов.");
}
Или на php проверить strlen или mb_strlen
PS: Ф-ю выдрал с этого форума :ph34r:
Спустя 9 минут, 27 секунд (14.12.2011 - 13:58) Strannik написал(а):
нажимаешь enter - появляется предупреждение, но строка переносится. как впрочем если вводишь другой символ - появляется предупреждение, но символ печатается. а мне нужно чтобы пользователь не мог ввести больше символов
Спустя 2 минуты, 57 секунд (14.12.2011 - 14:01) Winston написал(а):
Попробуй добавить для поля событие OnKeyUp="CheckLength()"
И добавить в ф-ю условие
Ну и алерт убрать, чтобы каждый раз не выскакивал.
И добавить в ф-ю условие
if(MessageLength > MessageMax)
return false;
Ну и алерт убрать, чтобы каждый раз не выскакивал.
Спустя 1 час, 17 секунд (14.12.2011 - 15:01) ИНСИ написал(а):
Цитата |
maxlength="500" |
Использовать данный тег я бы не советовал, потому что он не поддерживается многими браузерами ( http://htmlbook.ru/html/textarea/maxlength )
По теме, как пример, можно сделать так:
function checkArea(id,limit) {
var text = document.getElementById(id).value;
if(text.length > limit) {
text = text.substring(0, limit);
document.getElementById(id).value = text;
}
}
<textarea onkeyup="checkArea(this.id,500);" id="text"></textarea>
Спустя 3 минуты, 23 секунды (14.12.2011 - 15:05) Winston написал(а):
Цитата (INSIDIOUS @ 14.12.2011 - 14:01) |
checkArea(this.id,500); |
Мне кажется, что будет лучше указать лимит в функции, т.к. в твоем случае любим эксплорером можно будет изменить значение.
Спустя 4 минуты, 57 секунд (14.12.2011 - 15:10) ИНСИ написал(а):
Winston если автору надо, пусть меняет (такие вещи обычно всегда проверяются на php, так как эту же форму могут послать с другого сайта в скрипт)
Спустя 1 день, 3 часа, 22 минуты, 11 секунд (15.12.2011 - 18:32) Strannik написал(а):
INSIDIOUS
смысл в том, чтобы разумно дать пользователю понять о том, что больше будет перебор.
смысл в том, чтобы разумно дать пользователю понять о том, что больше будет перебор.
Спустя 3 минуты, 51 секунда (15.12.2011 - 18:36) alex12060 написал(а):
вешаешь просто на keyup событие и считаешь каждый раз длинну, если больше нужного, отсукаешь на -1 длинну.
Делов то...)
Делов то...)
Спустя 12 минут, 17 секунд (15.12.2011 - 18:48) alex12060 написал(а):
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>...</title>
<script type="text/javascript">
function checkLength(cur, max) {
max = typeof(max) == 'undefined' ? 5 : parseInt(max);
val = cur.value;
if (val.length > max) {
cur.value = val.slice(0, -1);
}
}
</script>
</head>
<body>
<textarea name="lol" onkeyup="checkLength(this, 10)"></textarea>
</body>
</html>