我试图简单地检查一下我是否有一个空输入文本框但是当我在chrome中运行时出现此错误:
Uncaught TypeError: Cannot read property 'length' of undefined.
以下是我如何去做。我检查DOM准备情况,然后调用该函数。
function walkmydog() {
//when the user starts entering
if(document.getElementById('WallSearch').value.length == 0) {
alert("nothing");
}
}
if (document.addEventListener) {
document.addEventListener("DOMContentLoaded", walkmydog, false);
}
答案 0 :(得分:9)
输入的ID似乎不是WallSearch
。也许你会混淆name
和id
。它们是两个不同的属性。 name
用于定义发布值的名称,而id
是DOM中元素的唯一标识。
其他可能性是您有两个具有相同ID的元素。浏览器将选择其中任何一个(可能是最后一个,也许是第一个)并返回一个不支持value
属性的元素。
答案 1 :(得分:4)
function walkmydog() {
//when the user starts entering
var dom = document.getElementById('WallSearch');
if(dom == null)
{
alert('sorry, WallSearch DOM cannot be found');
return false;
}
if(dom.value.length == 0) {
alert("nothing");
}
}
if (document.addEventListener) {
document.addEventListener("DOMContentLoaded", walkmydog, false);
}