我有一张人们可以填写的表格,表格的结果会显示在页面上。表单限制为2000个字符,但是没有什么限制可以有多少换行符,所以有人可以在每行放置一个字符并获得2000个换行符,这会使页面变得非常糟糕。我希望限制他们可以在textarea中键入的行数,因此限制为2000个字符或40行,以先到者为准。
我还需要保护那些将大量文本粘贴到表单中的人。我看了很多关于这个的其他帖子,但是当我尝试它们时,没有一个答案有效。谢谢!
答案 0 :(得分:1)
您是否已指定<textarea maxlength="2000"></textarea>
- 这将是一个很好的起点。这会将字符限制为2000.
您还可以检查输入键(keycode=="13"
,如果我正确记得)并且a)禁止它或b)仅在完全停止后或在例如之后允许它&gt; 30个字符。只是一个建议
绝对指定maxlength。然后只能输入。请注意,中断计为字符,并从剩余的字符中扣除。
快去this,你会看到。
function textCount(val) {
var len = val.value.length;
if (len >= 500) {
val.value = val.value.substring(0, 2000);
$('#amtleft span').text(0);
} else {
$('#amtleft span').text(2000 - len);
}
}
textCount($('#longText').get(0));
$('#longText').keyup(function() {
textCount(this);
});
textarea{height:150px;
width:300px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<textarea id='longText' ></textarea><br>
<span id='amtleft'><label>(<span>2000</span> characters left)</label></span>