既然是自定義的屬性,當然是不屬于(X)HTML規(guī)范的屬性。下面是一個很簡單的用自定義的maxlength屬性來做一個限長的文本輸入?yún)^(qū)的小例子。
maxlength屬性似乎是<input>標簽所擁有的屬性,不過我們可以給<textarea>也做一個。
1 <HTML>
2 <HEAD>
3 <TITLE> 限長的文本輸入?yún)^(qū) </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 //簡單的通過修改背景顏色來體現(xiàn)(正式的好像都是用帶效果的紅色邊線體現(xiàn))
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
如果你需要,類似的你可以加上很多的自定義的屬性,來達到驗證或者是別的目的。不過如果你的網(wǎng)頁被要求完全符合(X)HTML規(guī)范,就不能使用自定義屬性了,驗證器不會讓它通過的。不過你可以用class屬性或者其它方法來重寫。
posted on 2008-06-18 20:54
連夜雨 閱讀(409)
評論(0) 編輯 收藏 所屬分類:
JavaScript