javascript - 无法读取未定义的属性长度

标签 javascript dom dom-events

我试图简单地检查我是否有一个空的输入文本框,但是当我在 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);
}

最佳答案

输入的id好像不是WallSearch。也许您混淆了 nameid。它们是两个不同的属性。 name用于定义发布值的名称,而id是元素在DOM中的唯一标识。

另一种可能性是您有两个具有相同 ID 的元素。浏览器将选择其中任何一个(可能是最后一个,也可能是第一个)并返回一个不支持 value 属性的元素。

关于javascript - 无法读取未定义的属性长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7158439/

相关文章:

Javascript 在 IE8 中出现错误

javascript - 如何使用 jQuery 根据事件确定 HTML 输入元素类型?

javascript - 更改 onClick 事件中的 Javascript 焦点?

javascript - Django JavaScript 下拉菜单

javascript - 如何在不请求许可的情况下获取用户的位置,或者如果用户允许一次就不需要再次询问?

c++ - gSOAP DOM 解析器问题

javascript - 使用 appendTo() 和 switch 将变量中的内容添加到 div

ios - WKWebView,用于了解 iOS 10 中 DOM 何时准备就绪的委托(delegate)方法

javascript - 使用 JavaScript 处理刷新页面事件

javascript - Cordova 和 Windows 10 Javascript 应用程序有什么区别?