当我点击调用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>
答案 0 :(得分:1)
var areas = gridView.rows[i].getElementsByTagName('textarea');
getElementsByTagNane
不返回null,长度为零
所以你的if检查需要改变。
if (selects != null && areas != null)
应该是
if (selects.length && areas.length)