0

I would like to create a form, in this form I have to validate if the value is long enough.... More than 1 character.

My actual code looks like that:

function validateForm(){
    alert("Form ok");
    if(document.getElementsByName("firstname").value.length >1){
        alert("if");
    }
    else{
     document.getElementById("nameValidation").innerHTML= "* You must enter a first name";
        alert("else");
    }

I am struggling to understand why it doesn't work....

Many thanks.

Andreas
  • 20,797
  • 7
  • 44
  • 55
  • [`document.getElementsByName`](https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByName) returns a list of elements – Andreas Jan 09 '16 at 18:16

2 Answers2

1

getElementsByName returns array (or array-like object) of elements. You can access each element by index, e.g.:

document.getElementsByName("firstname")[0].value.length
madox2
  • 45,325
  • 15
  • 94
  • 95
1

You're using document.getElementsByName which returns NodeList. So, you should use it like this:

document.getElementsByName("firstname")[0].value.length > 1