控制textarea的maxLength
textarea标签虽然有maxLength属性,但是它并不管用,所以只能自己控制,
下面的例子中我的思路是:
在textarea中输入内容后就判断是否超出了maxLength,如果超出就按照maxLength截取textare的值,有个问题,如果用鼠标来拷贝粘贴就没法调用判断maxLength的方法,解决办法就是当textarea获取焦点时把鼠标右键失效,失去焦点时再恢复鼠标右键
这个方法从功能上解决了textarea的maxLength问题,但还不是很完美,在输入超过maxLength的字符后光标会有闪烁,因为是截取回填,没有像input的maxLength那样真正不让输入,今天一时也想不到好办法,以后找到再补充进来。
<html>
<head>
<title></title>
<script type="text/javascript">
var textarea_maxlen = {
isMax : function (){
var textarea =
document.getElementById("area");
var max_length = textarea.maxLength;
if(textarea.value.length > max_length){
textarea.value =
textarea.value.substring(0, max_length);
}
},
disabledRightMouse : function (){
document.oncontextmenu =
function (){ return false; }
},
enabledRightMouse : function (){
document.oncontextmenu = null;
}
};
</script>
</head>
<body>
<textarea id="area" maxLength="10"
onkeyup="textarea_maxlen.isMax()"
onfocus="textarea_maxlen.disabledRightMouse()"
onblur="textarea_maxlen.enabledRightMouse()"
rows="20" cols="100">
</textarea>
</body>
</html>
irini
2007-07-10 22:40:27
评论:2
阅读:1075
引用:0
无题
@2008-09-28 09:19:12
回音壁
世界是个回音壁,你发出什么声音就会听到什么声音
导航
* 总目录 青草地
* 回音壁 主人相册(空)
* 发文 管理
JavaScript
* IE中实现图片的拖拽
* Js做页面跳转
* javascript 参数无效
* 动态加载css文件
* 控制textarea的maxLength
* jquery 树型插件 -- jquery.tre
* javascript 单元测试 -- Jsunit
* javascript 日志 -- log4java
* JavaScript 定义类
* jsdoc 安装
* ie firefox 的 appendChild
* exception [Permission denied to...]
* DWR getting start
&nb
世界是个回音壁,你发出什么声音就会听到什么声音
导航
* 总目录 青草地
* 回音壁 主人相册(空)
* 发文 管理
JavaScript
* IE中实现图片的拖拽
* Js做页面跳转
* javascript 参数无效
* 动态加载css文件
* 控制textarea的maxLength
* jquery 树型插件 -- jquery.tre
* javascript 单元测试 -- Jsunit
* javascript 日志 -- log4java
* JavaScript 定义类
* jsdoc 安装
* ie firefox 的 appendChild
* exception [Permission denied to...]
* DWR getting start
&nb
无题
@2008-09-05 21:20:26
dddddddddddddddddddddddddddddddddddddddddddddddddsssssssssssssssssssssssssssssssssssssssssssddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddsssssssssssssssssssddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddsssssssssssssssssssddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddsssssssssssssssssssddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddsssssssssssssssssssddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddsssssssssssssssssssddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
