经常有页面里面编辑区域里会限制字数,主要是通过如下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">&nbsp;</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>