经常有页面里面编辑区域里会限制字数,主要是通过如下javascript函数实现的:
<
SCRIPT language=JavaScript>
var
LastCount =0;function
CountStrByte(Message,Total,Used,Remain){var ByteCount = 0;var StrValue = Message.value;var StrLength = Message.value.length;var MaxValue = Total.value;
if
ByteCount = (StrValue.charCodeAt(i)<=256) ? ByteCount + 1 : ByteCount + 2;
Message.value = StrValue.substring(0,i);
alert(
ByteCount = MaxValue;
}
}
Used.value = ByteCount;
Remain.value = MaxValue - ByteCount;
LastCount = StrLength;
}
}
(LastCount != StrLength){for (i=0;i<StrLength;i++){if (ByteCount>MaxValue) {"留言内容最多不能超过 " +MaxValue+ " 个字节!\n注意:一个汉字为两字节。");break;</
SCRIPT>相关html页面代码如下:
<
form name = "form1" method="post" action="insert.jsp">
<
table width="80%" border="0" align="center" cellpadding="0" cellspacing="1" class="tableBorder"><tr>
<td height="22" align="right" class="lunzi">内容:</td> <td align="left"><textarea name="content" cols="70" rows="10" wrap="VIRTUAL" id="content" onkeydown="CountStrByte(this.form.content,this.form.total,this.form.used,this.form.remain);" onkeyup="CountStrByte(this.form.content,this.form.total,this.form.used,this.form.remain);"></textarea> </td>
</tr>
<tr><td colspan="2" align="center" class="lunzi">
最多允许
<input name="total" type="text" disabled class="noborder" id="total" value="1600" size="4" class="zczi">个字节 已用字节:<
input name="used" type="text" disabled class="noborder" id="used" value="0" size="4" class="zczi">剩余字节:
<input name="remain" type="text" disabled class="noborder" id="remain" value="1600" size="4" class="zczi">
</td>
</tr>
<tr>
<td height="22" align="right"> </td>
<td align="left" class="forumRow">
<input type=button class=button value="提 交" name=Submit onClick="return submit2();">
<input type=reset name=Submit2 class=button onClick="return reset();">
</td>
</
</
</tr>table>form>
转载于:https://blog.51cto.com/4045060/747579