Как запустить jQuery из информационного окна GMaps - PullRequest
2 голосов
/ 23 сентября 2011

Я хочу запустить jQuery из информационного окна GMap.У меня есть этот код для моего GMap:

var theContent = "<form action='#' method='post' onSubmit='return false;'><input type='text' name='firstname' />";
theContent += "<input type='submit' value='Save' /></form>";

var infowindow = new google.maps.InfoWindow({       
    content: theContent
});
infowindow.open( map, marker);

и этот код для jQuery:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type='text/javascript'>
    $(document).ready(function() {
        $('form').bind('submit',function() {
            var str = $('form').serialize();

            $.ajax({
                type: "POST",
                url: "save.php",
                data: str,
                success: function(msg){
                    alert('Saved!');
                }
            });

            return false; //so the page won't refresh
        });
    });
</script>

Проблема в том, что мой ввод в текстовое поле информационного окна не сохраняется, поэтомуЯ думаю, что jQuery не запускается внутри окна / пузыря GMap.

Когда я пробовал форму вне GMap, она отлично работает.

Спасибо за любую помощь!

Ответы [ 2 ]

1 голос
/ 23 сентября 2011

Прямо сейчас, код jQuery привязывается к форме в готовом документе, но не обязательно, когда окно информации открыто.Поэтому возможно, что вы привязываетесь к форме, когда информационное окно даже не является частью DOM, что невозможно.Вам необходимо:

  1. Позвонить $('form').bind(...) ПОСЛЕ ПРАВИЛЬНО infowindow.open(...) ИЛИ
  2. Изменить $('form').bind(...) на $('form').live(...)Это будет предназначаться для всех настоящих и будущих форм на странице.
0 голосов
/ 23 сентября 2011

Когда создается InfoWindow, т.е. когда выполняется этот верхний скрипт? Здесь недостаточно информации, чтобы рассказать о ней, но вероятной причиной может быть то, что вы пытаетесь использовать jQuery для привязки к отправке формы до ее создания.

Попробуйте связать с формой после того, как вы создали InfoWindow.

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