既然是自定义的属性,当然是不属于(X)HTML规范的属性。下面是一个很简单的用自定义的maxlength属性来做一个限长的文本输入区的小例子。
maxlength属性似乎是<input>标签所拥有的属性,不过我们可以给<textarea>也做一个。
1 <HTML>
2 <HEAD>
3 <TITLE> 限长的文本输入区 </TITLE>
4 <script type="text/javascript">
5
6 //初始化页面时将所有含有maxlength属性的textarea对象加上验证事件
7 function doInit(){
8 var obj = document.getElementsByTagName('Textarea');
9 for(var i=0;i<obj.length;i++){
10 if(obj[i].getAttribute("maxlength")){
11 obj[i].onkeyup = obj[i].onchange = checkMaxLength;
12 }
13 }
14 }
15
16 //具体验证
17 function checkMaxLength(){
18 var maxLength = this.getAttribute("maxlength");
19 var currentLength = this.value.length;
20 //简单的通过修改背景颜色来体现(正式的好像都是用带效果的红色边线体现)
21 this.style.background = (maxLength > currentLength)?'white':'yellow';
22 }
23
24 </script>
25
26 </HEAD>
27
28 <BODY onload="doInit()">
29
30 <textarea maxlength="15"></textarea>
31
32 </BODY>
33 </HTML>
34
如果你需要,类似的你可以加上很多的自定义的属性,来达到验证或者是别的目的。不过如果你的网页被要求完全符合(X)HTML规范,就不能使用自定义属性了,验证器不会让它通过的。不过你可以用class属性或者其它方法来重写。
posted on 2008-06-18 20:54
连夜雨 阅读(407)
评论(0) 编辑 收藏 所属分类:
JavaScript