2016-07-29 70 views
0

我有一個GridView有複選框和一個「onClick」函數「VerifyChecked」附加到網格的行數據綁定事件中的每個checboxes。網格視圖在IE 11和Chrome中的Javascript錯誤

在我的javascript函數體是如下圖所示

function VerifyChecked() {   
     var gv = document.getElementById('ctl00_ContentPlaceHolder1_grdProductNotes'); 
     var btn = document.getElementById('ctl00_ContentPlaceHolder1_btnAdd'); 
     var btn2 = document.getElementById('ctl00_ContentPlaceHolder1_btnAdd1'); 
     btn.disabled = true; 
     btn2.disabled = true; 
     var strEnabled; 
     var strPk = ''; 
     var strSeq = ''; 
     var count = 0; 
     for (i = 1; i < gv.rows.length; i++) { 
      var row = gv.rows[i]; 
      var ckbox = row.cells[0].getElementsByTagName('input') 
      if (ckbox[0].checked) { 
       btn.disabled = false; 
       btn2.disabled = false; 
       count = count + 1; 

       var pk = row.cells[0].all[2].innerText; 

應用程序引發沒有錯誤的Internet Explorer版本10. 然而,在版本11中和鉻,當我檢查控制檯。我收到下面的錯誤。

「遺漏的類型錯誤:無法讀取的未定義的屬性2」

導致錯誤的線是 var pk = row.cells[0].all[2].innerText; 編輯1:

我發現了「Object.all」屬性現在由於我正在收到錯誤而過時。但是,現在我無法訪問所有集合的元素。任何解決方法來實現這一目標?

All property is obsolete

回答

0

可以使用childrenchildNodes類別:

var pk = row.cells[0].children[2].innerText; 
var pk = row.cells[0].childNodes[n].innerText; 

請注意,childNodes還包括文本節點。元素的索引因此可能與過時的all屬性不同。

相關問題