陋舍
先做人,后做事。
posts - 8,comments - 3,trackbacks - 0
   
    既然是自定义的属性,当然是不属于(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

只有注册用户登录后才能发表评论。


网站导航: