2016-07-29 4 views
0

グリッドの行データバインドイベントの各チェックボックスにチェックボックスと "onClick"関数 "VerifyChecked"が付加されたGridViewがあります。関数本体がIE 11とChromeのグリッドビュー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; 

の下に示されているように私JavaScriptで

私はコンソールをチェックするときに、アプリケーションは、バージョン11でクロムにただしInternet Explorerバージョン10 にはエラーをスローしません。私は以下のエラーが発生しています。

"キャッチされない例外TypeError:未定義のプロパティ2を読み取ることができません"

エラーの原因となる行が var pk = row.cells[0].all[2].innerText; EDIT 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プロパティのインデックスと同じではありません。