2011-10-04 73 views

回答

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> 
+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!