错误:'0.type'为null或不是javascript中的对象

时间:2014-02-05 17:57:32

标签: javascript asp.net

当我点击调用JavaScript进行验证的按钮时,我收到以下错误。奇怪的是,一切都在以前工作,但我不是现在发生的事情。如果我选择忽略此错误:

Error: '0.type' is null or not an object

然后代码工作正常,但我先得到错误然后它问我是否要调试它,如果我选择否则代码工作正常。请帮忙。谢谢 似乎代码停在这一行:

 if (areas[0].type == "textarea") {

但这是我的整个代码:

<script type ="text/javascript">
    function Validate_1() {
        var flag = false;
        var gridView = document.getElementById('<%= GridView1.ClientID %>');

        for (var i = 1; i < gridView.rows.length; i++) {
            var selects = gridView.rows[i].getElementsByTagName('select');
            //var inputs = gridView.rows[i].getElementsByTagName('input');
            var areas = gridView.rows[i].getElementsByTagName('textarea');
            if (selects != null && areas != null) {
                if (areas[0].type == "textarea") {
                    var txtval = areas[0].value;
                    var selectval = selects[0].value;
                    if (selectval == "No" && (txtval == "" || txtval == null)) {

                        flag = false;
                        break;
                    }
                    else {
                        flag = true;
                        document.getElementById('<%=btnSubmit.ClientID%>').style.visibility = 'visible';
                    }
                }
            }
        }
        if (!flag) {
            alert('Please note that comments are required if you select "No" from the dropdown box.  Thanks');
            document.getElementById('<%=btnSubmit.ClientID%>').style.visibility = 'hidden';
            // areas[i].focus();
            // areas.[i].style.backgroundColor = "red";
        }
        return flag;
    }
    //  document.getElementById('<%=btnSubmit.ClientID%>').style.visibility = 'visible';
</script>

1 个答案:

答案 0 :(得分:1)

var areas = gridView.rows[i].getElementsByTagName('textarea');

getElementsByTagNane不返回null,长度为零

所以你的if检查需要改变。

if (selects != null && areas != null) 

应该是

if (selects.length && areas.length)