Почему не ищется элемент по getElementsByName?
Потому что getElementsByName возвращает не один элемент, а коллекцию NodeList
надо document.getElementsByName('test')[0] использовать. Ну или document.querySelector('[name="test"]').
А если инпут с name="inputname" внутри формы c name="formname", то можно его получить так: document.formname.inputname