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
  • 21,535
  • 7
  • 47
  • 56
  • [`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
  • 49,493
  • 17
  • 99
  • 99
1

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

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