Нет, в HTML уровня 2 DOM не указано, что HTMLDocument получит именованные формы в качестве прямых свойств или что HTMLFormElement получит именованные элементы в качестве прямых свойств.
Однако это поведение восходит к самой ранней реализации JavaScript (в Netscape 2) и с тех пор было скопировано каждым браузером, так что это одна из тех функций «DOM Level 0», которые формально не признаны ни одним органом стандартизации. безусловно, де-факто стандарт.
Я все еще не рекомендовал бы использовать его, потому что будущие браузеры могут вводить новые свойства в HTMLDocument и HTMLFormElement (как это часто делали браузеры в прошлом, особенно в HTMLDocument), чьи имена могут конфликтовать с вашими name
атрибутами. Это гораздо, гораздо реже происходит с объектом HTMLCollection, используемым свойствами document.forms
и form.elements
.
Еще лучше поставить id
на все, что вы хотите сослаться, оставьте name
off <form>
и используйте однозначный document.getElementById()
.