Javascript Jquery在AJAX表单结果显示中没有响应
我刚刚开始真正使用jquery和AJAX,在大多数情况下我似乎已经掌握了诀窍,但这一点代码不起作用 我有一个显示文章摘要的页面。单击文章名称时,将显示一个弹出窗口,文章信息将与右上角的X图标一起显示,以关闭文章窗口 我通过AJAX处理表单处理,效果非常好。弹出窗口,显示所有正确的信息。我遇到的问题是关闭按钮功能 当你点击关闭按钮时,什么也没发生。我对它的jquery似乎没有响应。如果我只使用纯jquery/css,窗口就会出现,关闭按钮也会工作。如果我用HTML/PHP处理表单,它会显示窗口,关闭按钮会工作 只有当我通过AJAX处理调用时,关闭按钮才没有响应,我不知道为什么会这样 下面是关闭按钮的简单jquery代码:Javascript Jquery在AJAX表单结果显示中没有响应,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我刚刚开始真正使用jquery和AJAX,在大多数情况下我似乎已经掌握了诀窍,但这一点代码不起作用 我有一个显示文章摘要的页面。单击文章名称时,将显示一个弹出窗口,文章信息将与右上角的X图标一起显示,以关闭文章窗口 我通过AJAX处理表单处理,效果非常好。弹出窗口,显示所有正确的信息。我遇到的问题是关闭按钮功能 当你点击关闭按钮时,什么也没发生。我对它的jquery似乎没有响应。如果我只使用纯jquery/css,窗口就会出现,关闭按钮也会工作。如果我用HTML/PHP处理表单,它会显示窗口,关
$('.newsClose').click(function(){
$('#newsWindow').hide();
});
这是AJAX调用:
$(document).ready(function() {
$('#agentNewsForm').submit(function(e) {
e.preventDefault();
$.ajax({
type : 'POST',
data : $('#agentNewsForm').serialize(),
url : '/search/customer/agentNewsView.inc.php',
beforeSend : function() {
$('#processing').show();
},
error : function() {
$('#processing').hide();
$('#ajaxFormError').show();
},
// success callback
success : function (response) {
$('#processing').hide();
$('#newsWindow').html(response).show();
},
complete : function() {
$('#processing').hide();
},
timeout : 3000,
});
return false;
});
});
我肯定我错过了一些非常简单的东西。有什么想法吗
$(document.body).on('click', '.newsClose' ,function(){
$('#newsWindow').hide();
});
见此:
见此:
关闭窗口的代码仅在文档加载时启动,而关闭按钮位于
#newsWindow
内,您可以通过以下两种方法之一解决此问题
$('#新闻窗口>.content').html(response.show()
并将关闭按钮置于.content
区域之外
或者您可以使用上的方法,该方法将绑定您对添加到文档中的所有新dom的关闭单击
$(body).on('click','.newclose',函数(e){e.preventDefault;$('#新闻窗口').hide();})
您关闭窗口的代码仅在文档加载时启动,而您的关闭按钮位于#newsWindow
内,您可以通过以下两种方法之一解决此问题
$('#新闻窗口>.content').html(response.show()
并将关闭按钮置于.content
区域之外
或者您可以使用
上的方法,该方法将绑定您对添加到文档中的所有新dom的关闭单击
$(body).on('click','.newclose',函数(e){e.preventDefault;$('#新闻窗口').hide();})代码>尝试以下操作:
(function($){
var $newsWindow = $('#newsWindow');
$('body').on('click','.newsClose',function(e){
e.preventDefault();
$newsWindow.hide();
});
$('body').on('submit','#agentNewsForm',function(e){
e.preventDefault();
var $el = $(this);
var $process = $('#processing');
var $error = $('#ajaxFormError');
var _data = $el.serialize();
$.ajax({
type : 'POST',
data : _data,
url : '/search/customer/agentNewsView.inc.php',
beforeSend : function() {
$process.show();
},
error : function() {
$error.show();
},
success : function (response) {
$newsWindow.html(response).show();
},
complete : function() {
$process.hide();
}
});
});
})(jQuery);
试试这个:
(function($){
var $newsWindow = $('#newsWindow');
$('body').on('click','.newsClose',function(e){
e.preventDefault();
$newsWindow.hide();
});
$('body').on('submit','#agentNewsForm',function(e){
e.preventDefault();
var $el = $(this);
var $process = $('#processing');
var $error = $('#ajaxFormError');
var _data = $el.serialize();
$.ajax({
type : 'POST',
data : _data,
url : '/search/customer/agentNewsView.inc.php',
beforeSend : function() {
$process.show();
},
error : function() {
$error.show();
},
success : function (response) {
$newsWindow.html(response).show();
},
complete : function() {
$process.hide();
}
});
});
})(jQuery);
谢谢你的建议。就像我说的,对AJAX来说还是有点陌生。正在学习细节,还没有弄乱控制台功能。下次我会记住的。谢谢你的建议。就像我说的,对AJAX来说还是有点陌生。正在学习细节,还没有弄乱控制台功能。下次我会记住的。谢谢!这正是我需要的答案。它现在工作得很好。谢谢你!这正是我需要的答案。它现在工作得很好。