2014-02-05 89 views
0

当我点击调用JavaScript进行验证的按钮时,出现以下错误。奇怪的是,一切都在以前工作,但我现在不是这样。如果我选择忽略这个错误:错误:'0.type'为空或者不是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
var areas = gridView.rows[i].getElementsByTagName('textarea'); 

getElementsByTagNane没有返回null,长度将是零

所以你的检查需要改变。

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

应该

if (selects.length && areas.length) 
相关问题