Невозможно отправить динамические формы на событие карты Google - PullRequest
0 голосов
/ 03 декабря 2011

Я использую 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] страницы.

1 Ответ

0 голосов
/ 03 декабря 2011

Если viaName.length = 4, то от 1 до 4 всегда будут передаваться в функцию doSomething, что видно из приведенного выше кода. Нет оператора if, останавливающего его, он будет перебирать от 0 до 3 в предложении for, указанном выше, когда viaName.length = 4, и он передаст doSomething [1, 2, 3, затем 4]. Это все, что я могу видеть из предоставленного кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...