【问题标题】:Grid View Javascript Error in IE 11 and ChromeIE 11 和 Chrome 中的网格视图 Javascript 错误
【发布时间】:2016-12-03 21:25:08
【问题描述】:

我有一个 GridView,它具有复选框和一个“onClick”函数“VerifyChecked”,该函数附加到 Grid 的行数据绑定事件中的每个复选框。

在我的 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 和 chrome 中,当我检查控制台时。我收到以下错误。

“UnCaught TypeError :Cannot read property 2 of undefined”

导致错误的行是 var pk = row.cells[0].all[2].innerText; 编辑 1:

我发现“Object.all”属性现在已过时,因此我收到了错误。但是现在我无法访问所有集合的元素。有任何解决方法来实现这一点吗?

All property is obsolete

【问题讨论】:

    标签: javascript jquery asp.net google-chrome


    【解决方案1】:

    您可以使用childrenchildNodes 集合:

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

    请注意childNodes 还包括文本节点。因此,元素的索引可能与过时的 all 属性不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-30
      • 2016-02-17
      • 1970-01-01
      • 2014-06-16
      • 1970-01-01
      • 2015-11-02
      • 1970-01-01
      相关资源
      最近更新 更多