Skip to content
Advertisement

Cannot read property length of undefined

I am trying to simply check if I have an empty input text box but I get this error when I run this in Chrome:

Uncaught TypeError: Cannot read property ‘length’ of undefined.

Here is how I go about doing it. I check for DOM readiness and then call the function:

function walkmydog() {
    //when the user starts entering                                                                                                                                                
    if(document.getElementById('WallSearch').value.length == 0) {
        alert("nothing");
    }
}

if (document.addEventListener) {
    document.addEventListener("DOMContentLoaded", walkmydog, false);
}

Advertisement

Answer

The id of the input seems is not WallSearch. Maybe you’re confusing that name and id. They are two different properties. name is used to define the name by which the value is posted, while id is the unique identification of the element inside the DOM.

Other possibility is that you have two elements with the same id. The browser will pick any of these (probably the last, maybe the first) and return an element that doesn’t support the value property.

User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement