Добавление события к элементу внутри Google Maps API InfoWindow

Я хочу поместить форму с полем ввода и кнопку отправки внутри InfoWindow API Карт Google (v3).

При отправке я хотел бы вызвать функцию, которая запускает службу маршрутов, используя адрес, введенный в поле ввода.

Вот мой код (в настоящее время я только проверяю, запускается ли событие направления. Я написал полное событие getDirections () и может подтвердить, что оно работает, и возвращает указания при правильном запуске):

Я попытался добавить прослушиватель событий с помощью MooTools, например:

var infoWindowContent   = "<b>Get Directions From...</b><br />"
                        + "<form id='map-form'>"
                        + "Address/Postcode: <input id='map-from-address' type='text' />"
                        + "<input type='submit' id='map-go' value='Go' />"
                        + "</form>";

var infoWindow = new google.maps.InfoWindow({
    content: infoWindowContent
});

google.maps.event.addListener(marker, 'click', function() {
    infoWindow.open(map, marker);
    dbug.log($("map-form"));
    $("map-form").addEvent("submit", getDirections);
});

function getDirections(event)
{
    dbug.log("getDirections");
    event.stop();
}

Поскольку я использую MooTools в другом месте на моем сайте я помещаю весь код в window.addEvent ('load', function () {...});

Обратите внимание на трассировку консоли dbug.log ($ ("map -form ")); , который правильно выводит элемент формы, но событие не запускается.

Я добавил то же событие в другую форму (с другим идентификатором) в DOM, и оно работает нормально.

Итак, если MooTools может найти элемент и предположительно добавить прослушиватель событий, что мешает запуску события ? Это проблема области?

22
задан timwjohn 16 June 2011 в 20:30
поделиться