2011-04-21 18 views
0

下面的代码计算在textarea中键入的字符。如果你达到250的限制,你不能再添加更多。我怎么让人们输入超过250?textarea字符计数器极限的小修改

好吧,你有250最低限度,但它不介意,如果你把比这更多。谢谢!

<script type='text/javascript'> 
var maxLength=250; 
function charLimit(el) { 
    if (el.value.length > maxLength) return false; 
    return true; 
} 
function characterCount(el) { 
    var charCount = document.getElementById('charCount'); 
    if (el.value.length > maxLength) el.value = el.value.substring(0,maxLength); 
    if (charCount) charCount.innerHTML = maxLength - el.value.length; 
    return true; 
} 
</script> 

<form> 
    <textarea onKeyPress="return charLimit(this)" onKeyUp="return characterCount(this)" rows="8" cols="40"></textarea> 
</form> 
<p><strong><span id="charCount">250</span></strong> more characters available.</p> 
+0

更改maxLength的值?我想我错过了这个观点 – SuitedSloth 2011-04-21 16:17:19

+0

为什么你会一遍又一遍地发布基本相同的Q? – Neal 2011-04-21 16:17:42

回答

0

要允许输入的字符数超过maxLength,应删除以下代码块。

function charLimit(el) { 
    if (el.value.length > maxLength) return false; 
    return true; 
} 

if (el.value.length > maxLength) el.value = el.value.substring(0,maxLength); 

onKeyPress="return charLimit(this)" 

您也可能要考虑修改以下行,以防止显示负数。

if (charCount) charCount.innerHTML = Math.max(maxLength - el.value.length, 0); 
+0

完美10!谢谢! – EnexoOnoma 2011-04-21 16:34:32

0

改变这一行:

var maxLength=250; 

改变成你希望

+0

再次嗨。谢谢你的回复,但我想我没有很好地解释我想要的。我需要一个字符可用的计数器,但我不希望脚本删除超过250限制的所有字符。这就像你有至少250不仅250. – EnexoOnoma 2011-04-21 16:19:33

+1

????????????????????????非常困惑 – Neal 2011-04-21 16:20:47

+0

你在那个textarea上写了250个字符的限制。例如,如果您尝试使用右键单击粘贴来编写超过250个脚本,脚本将只保留前250个字符,并从textarea中删除任何其他字符。我的目的是保持计数但不限制。用户可以添加超过250个字符,但只计算前250个字符。之后显示为0. – EnexoOnoma 2011-04-21 16:24:47

0

无论最大的最大长度是与否有关一个如果更改该值命名为“最大长度”

VAR限制您可以更改所需的最大值,因为您正在制作的所有复杂图案

+0

您在该文本区中编写了250个字符的限制。例如,如果您尝试使用右键单击粘贴来编写超过250个脚本,脚本将只保留前250个字符,并从textarea中删除任何其他字符。我的目的是保持计数但不限制。用户可以添加超过250个字符,但只计算前250个字符。在此之后出现为0. – EnexoOnoma 2011-04-21 16:29:42