我有一个页面通过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。所以我看到我的页面标题而不是回复!
任何想法是什么导致这种情况发生的?
答案 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);
}
});