2016-01-09 5 views
0

Я хотел бы создать форму, в этой форме я должен проверить, достаточно ли этого значения .... Более 1 символа.JavaScript - проверить значение длины

Мой реальный код выглядит следующим образом:

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"); 
    } 

Я изо всех сил, чтобы понять, почему это не работает ....

Большое спасибо.

+0

[ 'document.getElementsByName'] возвращает (https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByName) список элементов – Andreas

ответ

1

Вы с помощью document.getElementsByName, который возвращает NodeList. Таким образом, вы должны использовать его как это:

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

+0

Хорошо, отлично работает сейчас! Итак, это [0] относится к чему? –

+0

[0] относится к элементу на 0-м индексе. Примите ответ, если он решает вашу проблему. – Sachin

+0

'document.getElementsByName (" firstname ") [0]' вернет первый элемент DOM с именем = "firstname". Это имеет смысл, потому что у вас может быть несколько элементов с одним и тем же атрибутом name. –

1

getElementsByName возвращает массив (или подобный массиву объект) элементов. Вы можете получить доступ к каждому элементу по индексу, например .:

document.getElementsByName("firstname")[0].value.length 
Смежные вопросы