2016-06-22 48 views
-2

我有一张表格,人们可以填写表格的结果并显示在页面上。表单限制为2000个字符,但是没有限制可以有多少换行符,所以有人可以每行放一个字符并获得2000个换行符,这会使页面变得非常糟糕。我正在寻找限制它们可以输入到textarea中的行数,所以限制是2000个字符或40行,以先到者为准。在textarea中限制线条?

我也需要这个来保护粘贴大量文本的人。我看了很多关于这个的其他帖子,但是当我尝试它们时,没有任何答案有效。谢谢!

+1

做了什么来接近你试过吗?没有看到企图就很难给出答案。否则,这将脱离主题太宽泛(或其他)。 – Rasclatt

+0

尝试此链接:https://codepen.io/nicohaemhouts/pen/ogyw​​PB – nywooz

+0

字面上没有任何工作。我尝试了几个不同的代码示例,将其修改为适合我的东西,什么也没有发生。我厌倦了在这里提出合理的问题,只能得到低估。 – Treedot

回答

1

你有没有指定<textarea maxlength="2000"></textarea> - 那将是一个很好的开始。这将限制字符数为2000.

您也可以检查输入密钥(如果我正确回忆起来,则为keycode=="13")并且a)禁止使用或b)仅在完全停止或之后例如允许使用它。 > 30个字符。只是一个建议

尽管指定了最大长度。那么只有这样才能输入。请注意,中断计为字符,并从剩余的字符中扣除。

请去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>&#40;<span>2000</span> characters left&#41;</label></span>