在ajax加载的页面中使用ajax

时间:2011-04-15 01:36:26

标签: ajax jquery-ui jquery

我有一个页面通过jquery选项卡加载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。所以我看到我的页面标题而不是回复!

任何想法是什么导致这种情况发生的?

2 个答案:

答案 0 :(得分:2)

当您通过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 :(得分:1)

问题解决了,没有关于通过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); 
    }
});
相关问题