Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Описание: <textarea name="textarea" id="textarea" onclick="length_check(256, 'textarea', 'counter')" onkeyup="length_check(256, 'textarea', 'counter')" ></textarea>
Осталось символов: <span id="counter">256 / 256</span>
<script language="JavaScript" type="text/javascript">
function length_check(len_max, field_id, counter_id) {
var len_current = document.getElementById(field_id).value.length;
var rest = len_max - len_current;
if (len_current > len_max )
{ document.getElementById(field_id).value =
document.getElementById(field_id).value.substr (0, len_max);
if (rest < 0) { rest = 0;}
document.getElementById(counter_id).firstChild.data = rest + ' / ' + len_max;
alert('Максимальная длина содержимого поля: ' + len_max + ' символа(-ов)'); }
else
{ document.getElementById(counter_id).firstChild.data = rest + ' / ' + len_max; }
}
</script>
$( document ).ready(function() {
$('textarea.limited').bind('input propertychange', function() {
function limitTextareaLine(e) {
if(e.keyCode == 13 && $(this).val().split("\n").length >= $(this).attr('rows')) {
return false;
}
}
$(function() {
$('textarea.limited').keydown(limitTextareaLine);
});
});
});
Желательно действительно дополнительно использовать maxlength="xxx" (примерно сумма количества символов в каждой строке) и сделать проверку на количество символов (строк тоже можно реализовать, но геморно) при обработке данных формы. Когда что-то запрещают, то у некоторых чешутся руки это ограничение обойти, а так это уже не получится.немного по другому сделал, мне нужно ограничение не по количеству символов, а по количеству строк
Код:$( document ).ready(function() { $('textarea.limited').bind('input propertychange', function() { function limitTextareaLine(e) { if(e.keyCode == 13 && $(this).val().split("\n").length >= $(this).attr('rows')) { return false; } } $(function() { $('textarea.limited').keydown(limitTextareaLine); }); }); });
Если уж пользователю захочется ввести больше, то maxlength игнорируется точно так жеПочему вы просто не воспользуетесь html свойством maxlength="xxx"?? Ведь пользователь, которому нужно ввести больше, просто отключит javascript.