Доступ к элементам формы с использованием идентификатора - PullRequest
0 голосов
/ 07 января 2010

Для меня это стало неожиданностью, но у меня есть простая форма с 3 полями. Поля не имеют атрибута name. Вместо этого они имеют атрибут "id".

Тем не менее. Я все еще могу сделать

var f = document.getElementsByTagName('form')[0];
alert(f.elementID);

для доступа к элементу. Я думал, что для доступа к элементам формы таким образом, атрибут "name" необходим.

Я не мог найти где-нибудь объяснения для такого поведения. Есть указатели?

EDIT:

Я думаю, что мой вопрос не совсем понятен.

мои поля формы не имеют атрибута "name". У них есть «идентификатор». Тем не менее, я могу сделать это:

myform.elementId

для доступа к ним. Вопрос не имеет ничего общего с getElementsByTagName.

Ответы [ 3 ]

4 голосов
/ 07 января 2010

Вы путаете getElementsByTagName с getElementsByName. TagName набирает , но имя .

4 голосов
/ 07 января 2010

getElementsByTagName возвращает все элементы данного тега. (В вашем случае все <form> элементы)

Он не возвращает все элементы с атрибутом name, как вы, кажется, понимаете.

В вашем случае вы можете вызвать getElementById, чтобы вернуть (единственный) элемент с указанным идентификатором.


РЕДАКТИРОВАТЬ : Я думаю, что я неправильно понимаю ваш вопрос.

Если вы спрашиваете, почему вы все еще можете написать myform.elementId, он использует идентификатор элемента.

0 голосов
/ 07 января 2010

Не могли бы вы использовать

var f = document.getElementByID('some_id');
alert(f.value);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...