既然是自定義的屬性,當(dāng)然是不屬于(X)HTML規(guī)范的屬性。下面是一個(gè)很簡(jiǎn)單的用自定義的maxlength屬性來(lái)做一個(gè)限長(zhǎng)的文本輸入?yún)^(qū)的小例子。
maxlength屬性似乎是<input>標(biāo)簽所擁有的屬性,不過(guò)我們可以給<textarea>也做一個(gè)。
1 <HTML>
2 <HEAD>
3 <TITLE> 限長(zhǎng)的文本輸入?yún)^(qū) </TITLE>
4 <script type="text/javascript">
5
6 //初始化頁(yè)面時(shí)將所有含有maxlength屬性的textarea對(duì)象加上驗(yàn)證事件
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 //具體驗(yàn)證
17 function checkMaxLength(){
18 var maxLength = this.getAttribute("maxlength");
19 var currentLength = this.value.length;
20 //簡(jiǎn)單的通過(guò)修改背景顏色來(lái)體現(xiàn)(正式的好像都是用帶效果的紅色邊線(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
如果你需要,類(lèi)似的你可以加上很多的自定義的屬性,來(lái)達(dá)到驗(yàn)證或者是別的目的。不過(guò)如果你的網(wǎng)頁(yè)被要求完全符合(X)HTML規(guī)范,就不能使用自定義屬性了,驗(yàn)證器不會(huì)讓它通過(guò)的。不過(guò)你可以用class屬性或者其它方法來(lái)重寫(xiě)。
posted on 2008-06-18 20:54
連夜雨 閱讀(409)
評(píng)論(0) 編輯 收藏 所屬分類(lèi):
JavaScript