Почему не работает getElementsByName в контексте HTMLElement-a?
The getElementsByName(name) method takes a string name, and must return a live NodeList containing all the HTML elements in that document that have a name attribute whose value is equal to the name argument (in a case-sensitive manner), in tree order.
Судя по формулировке, которая дана в спецификации, этот метод есть только у документа и его нельзя вызывать на произвольных нодах. Здесь это написано прямым текстом.
Стоит отказаться от него в пользу метода querySelector():var form = document.querySelector('[name="search-person"]');
alert('тип' + form.outerHTML);

var input = form.querySelector('[name="info[0]"]');
alert('тип' + input + ' код' + input.outerHTML);
Как видите, возвращается сразу нода, а не коллекция, что дополнительно упрощает код.
Распечатайте и на стенку повесьте)
На основе learn.javascript.ru