использование ajax на странице, загруженной ajax

#ajax #jquery-ui #jquery

#ajax #jquery-пользовательский интерфейс #jquery

Вопрос:

у меня есть страница, загруженная через jquery tabs ajax, у меня есть форма на этой странице, на которую я хочу отобразить ответ формы через ajax. ответ загружается из этого кода:

 $('#whois').submit(function() { 
    $.ajax({
        data: $('#whois').serialize(), 
        cache:false,
        type: "POST", 
        url: $('#whois').attr('/lib/domainchecker.php'), 
        success: function(response) { 
            $('#reply').html(response); 
        }
    });
    return false;
);
  

но моя форма отправляется на родительскую страницу вместо /lib/domainchecker.php . итак, я вижу заголовки своей страницы вместо ответа!

есть идеи, из-за чего это происходит?

Ответ №1:

Когда вы загружаете контент на страницу через AJAX и вам нужно применить события к загруженному контенту, вам нужно использовать jquery live().

   $('#whois').live('submit', function() { 
$.ajax({
    data: $('#whois').serialize(), 
    cache:false,
    type: "POST", 
    url: $('#whois').attr('/lib/domainchecker.php'), 
    success: function(response) { 
        $('#reply').html(response); 
    }
});
  

Это, конечно, происходит на главной странице хоста, а не на странице загруженного содержимого.

Комментарии:

1. и никаких изменений в результате, ничего не изменилось с этой заметкой

Ответ №2:

проблема решена, ничего не связано с загрузкой страницы через ajax, но произошла ошибка с кодом, я не должен отправлять в $ (‘#whois’).attr(‘/lib/domainchecker.php ‘) но просто ‘/lib/domainchecker.php ‘

исправленный код:

   $('#whois').live('submit', function() { 
$.ajax({
    data: $('#whois').serialize(), 
    cache:false,
    type: "POST", 
    url: '/lib/domainchecker.php', 
    success: function(response) { 
        $('#reply').html(response); 
    }
});