• 主页
  • ASP
  • .NET Framework
  • Web Services
  • VB
  • VC
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • LINQ

[老题新问]如何在输入全角中文的情况下限制textarea的最大输入长度?(解决就结贴)

cliff1002 2005-05-19 04:37:14
这个问题其实很老了。因为textarea的mexlenth不好用,所以只能用脚本(vbscript)实现。
我写了个脚本如下:

Sub txtBIKOU_OnKeyDown
If Len(Document.all.txtBIKOU.value) > 512 Then
Document.all.txtBIKOU.value = Left(Document.all.txtBIKOU.value, 512)
End If

End Sub
Sub txtBIKOU_OnMouseMove

If Len(Document.all.txtBIKOU.value) > 512 Then
Document.all.txtBIKOU.value = Left(Document.all.txtBIKOU.value, 512)
End If
End Sub

但是因为这个输入框规定必须输入全角中文,所以当达到512的时候,如果继续输入将会把所有文字清空,从头开始输入!
我想可能是因为当键盘点击的时候,文字并没有写入textarea,所以长度判断不出来。
不知道那位大哥有好办法啊?
...全文
108 点赞 收藏 5
写回复
5 条回复
cliff1002 2005年05月19日
有人知道为什么吗?
回复 点赞
cliff1002 2005年05月19日
改称OnkeUp也不好用~~:(
回复 点赞
cliff1002 2005年05月19日
是啊。因为是输入汉字,所以即使按了好几次键盘,比如"shuru",虽然屏幕上显示出了“输入”字样,但是在你回车之前,实际上这两个字并没有真正输入到textarea中。所以这个时候判断的长度因该市不准的。我也不知道怎么解决~~
回复 点赞
孟子E章 2005年05月19日
Sub txtBIKOU_OnKeyUP
If Len(Document.all.txtBIKOU.value) > 512 Then
Document.all.txtBIKOU.value = Left(Document.all.txtBIKOU.value, 512)
End If

End Sub
回复 点赞
hchxxzx 2005年05月19日
这个代码不会清空啊,它只是取输入框里面的前512个字.
你真的被清空?
回复 点赞
发动态
发帖子
.NET技术社区
创建于2007-09-28

4.9w+

社区成员

66.8w+

社区内容

.NET技术交流专区
社区公告
暂无公告