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);
Как видите, возвращается сразу нода, а не коллекция, что дополнительно упрощает код.