Javascript中,document.getElementsByName獲取的就一定是數組了么?


今天在一張JSP網頁中,寫一個javascript方法,用於全選。

全部被選checkBox位於一個名為mainForm的Form下,name=pushIds。方法如下:

1 function selectAll(obj){
2     var form = document.getElementById("mainForm");
3     var pushIds = form.pushIds;
4     var bool = obj.selected;
5     for(var j=0; j < pushIds.length; j++){
6         pushIds[j].select = bool;
7     }
8 }     

由於pushIds的checkbox是動態的,有時可能是一個,有時可能是多個。

之前一直采用這段方法,沒有發現問題;直到今天,當查詢出一個pushIds后,才發現這段代碼已經無效,於是我才發現了這個問題。左思又想不明白,像個1個多小時,實在憋不住問了領導,領導一句話點醒了我:“單個checkbox時,是不是不是數組啊”。

於是馬上修改了代碼:

 1 function selectAll(obj){
 2     var form = document.getElementById("mainForm");
 3     var pushIds = form.pushIds;
 4     var bool = obj.selected;
 5     if(pushIds.length==null{
 6         pushIds.checked=bool;
 7     }else{
 8         for(var j=0; j < pushIds.length; j++){
 9             pushIds[j].select = bool;
10         }
11     }
12 }     

之前一直沒有留意這個問題,這個問題一直被忽略,直到今天才發現這個問題。稍后要將原來的這個問題全部解決掉。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM