限制textarea

时间:2011-10-04 08:34:30

标签: javascript jquery textarea limit

  

可能重复:
  limit number of characters entered in textarea

如何设置进入textarea的字符数限制?我有一个textarea,你可以放入最多50个字符。我怎样才能用Javascript做到这一点。我希望输入也是字符,所以人们不会放很多enters

2 个答案:

答案 0 :(得分:1)

使用onkeypress的上述代码无法使用复制/粘贴或拖放功能。下降 您可以使用“oninput”事件,但并非所有市长浏览器都支持(ie8 +) 限制/过滤表单字段的最佳方法是:

<form id="a" method="post" action="?hey">
<textarea id="t" data-maxlen="10"></textarea>
<input type="submit" value="submit me">
</form>

<script>
var aa = document.getElementById("a");
var tt = document.getElementById("t");
aa.onsubmit=function()
{
    if(tt.value.length > parseInt(tt.getAttribute("data-maxlen")))
    {
        tt.style.backgroundColor="red";
        return false;
    }
    else
    {
        tt.style.backgroundColor="white";
        return true;
    }
};
</script>

但无论如何您需要进行服务器端检查

HTH!

答案 1 :(得分:0)

试试这个:

<script language="javascript" type="text/javascript">
function imposeMaxLength(Object, MaxLen)
{
  return (Object.value.length <= MaxLen);
}
</script> 

<textarea name="myName" onkeypress="return imposeMaxLength(this, 15);" ><textarea>

<script language="javascript" type="text/javascript">
function limitText(limitField, limitCount, limitNum) {
    if (limitField.value.length > limitNum) {
        limitField.value = limitField.value.substring(0, limitNum);
    } else {
        limitCount.value = limitNum - limitField.value.length;
    }
}
</script>

<form name="myform">
    <textarea name="limitedtextarea" onKeyDown="limitText(this.form.limitedtextarea,this.form.countdown,100);" 
onKeyUp="limitText(this.form.limitedtextarea,this.form.countdown,100);">
    </textarea><br>
    <font size="1">(Maximum characters: 100)<br>
    You have <input readonly type="text" name="countdown" size="3" value="100"> characters left.</font>
</form>