jQuery не работает с формой внутри InfoWindow

0

Я использую JQuery для обработки всех моих форм, и все они работают нормально. Но я не могу заставить его работать с формой, находящейся внутри динамически созданного (GoogleMap-маркера) InfoWindow. Должен ли я использовать его по-другому? Может быть, с $(document).on для захвата отправки?

Это код, чтобы поймать форму submit:

$(function() {
$('#new_marker').submit(function(e) {
    e.preventDefault();
    $.post($("#new_marker").attr("action"), $("#new_marker").serialize(), function(data) {
        var json = myParseJSON( data );
        if( json.status=="success" ) {
            location.href = site_root+'map/modify_marker/'+json.marker_id;
        } else {
            new Messi( json.msg, {title: 'Oops...', titleClass: 'anim error', buttons: [{id: 0, label: 'Fechar', val: 'X'}]});
        }
    }).fail( function() { general_error(); } );
    return false;
});
});

Как я уже сказал, код такой же для всех моих других форм, но не для формы new_marker которая находится внутри InfoWindow. Он просто загружает форму в действие, даже не признавая код JQuery.

Это код, который я использую для загрузки содержимого в InfowWindow:

function newmarker_infowindow_content(lat, long, infowindow) {
    $.ajax({
    url: site_root +'map/newmarker_infowindow/' + lat +'/' +long,
    success: function(data){
        infowindow.setContent(data);
        processInLineLabels();
    }
});
}
Теги:
forms
google-maps
infowindow

1 ответ

1

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

$('#MapDivID').on('submit', '#new_marker', function(e){
     e.preventDefault();
     /* do ajax*/
})

Подробнее о делегировании событий в jQuery on() docs

  • 0
    Я пытался использовать on тех пор, как я опубликовал это. Не повезло. Я попытался с document , поместив код как в моем основном site.js и внутри загруженного InfoWindow вдоль HTML. Ничего. Код просто игнорируется.
  • 0
    проверить форму в режиме реального времени просмотра html в консоли ... имеет ли он правильный идентификатор?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню