<html> <head> <title>study</title> <meta http-equiv="content-type" content="text/html;charset=gb2312" /> <mce:script type="text/javascript" language="javascript"><!-- function checknum(obj){ //keypress行为不能监控到汉字输入,并且是在输入字符前计算文本框字符长度,这样比实际的长度小1 if(obj.value.length < obj.getAttribute("maxlength")){ return true; } else{ return false; //keypress行为无效,这样就不能输入了 } } function show(obj){ var oDiv=document.getElementById("display"); if(obj.value.length < 50){ //如果字符长度>50,就显示50个字符,否则显示实际字符数 oDiv.innerHTML=obj.value.length; } else{ oDiv.innerHTML=50; } if(obj.value.length>obj.getAttribute("maxlength")){ //如果输入的字符比50个多,则文本框里显示50个字符 obj.value=obj.value.substring(0,50); //alert(obj.value); } } // --></mce:script> </head> <body> <form name="form1" action="#" method="post"> <label for="text1">下面的框中只能输入50个字符</label> <textarea id="text1" cols="30" rows="5" maxlength="50" onkeypress="return checknum(this)" onkeydown="show(this)"> 经过下面的文本框会选中文本框中的内容,便于编辑姓名: 结果: 下面的框中只能输入50个字符 22222222222222222222 20 经过下面的文本框会选中文本框中的内容,便于编辑姓名: