Я использую Javascript с API Google Map V3 для своего приложения.мой код
for(var i = 0; i < viaName.length; i++) {
// some other code......
google.maps.places.Autocomplete(document.forms[i+1].txtVia));
autocomplete[i+1].bindTo('bounds', map);
google.maps.event.addListener(autocomplete[i], 'place_changed', function() {
doSomething(document.forms[i+1]); } );
}
Где vaiName - массив.
У меня есть несколько форм на моей странице, и в них у меня есть текстовые поля, которые связаны с автозаполнением, чтобы предсказать текст.Я хочу вызвать функцию doSomething (), когда текст изменяется в любых текстовых полях на странице (следовательно, используется несколько форм, в которых есть текстовое поле)
Проблема в том, что вызов функции doSomething(document.forms[i+1]);
всегда получает viaName.length.
Пример: если viaName.length = 4, то независимо от того, какое бы текстовое поле (в любой форме) ни вызвало событие, функция doSomething получает document.forms[4]
страницы.