我正在尝试根据验证结果加载表单的某些部分。这是我正在使用的代码 它与表格上的所有按钮相同。
$("#button").click(function(e){
e.preventDefault();
noPgLoad(this);
});
function noPgLoad(button){
$.ajax({
type: "POST",
url: url,
data : serialized_data,
success: function(data,textStatus,xhr){
$('#somediv').replaceWith(data);
return false;
},
error: fail,
dataType: "html"
});
}
在django视图中,我检查request.is_ajax() 问题:
答案 0 :(得分:0)
我不确定您的第一个问题,但我认为您可以使用live
(see jquery docs)代替click
来解决问题
$("#button").live('click', function(e){
e.preventDefault();
noPgLoad(this);
});
简要说明一下,当您使用click
时,它仅适用于页面上的元素。我认为您的代码$('somediv').replaceWith(data)
正在替换按钮。单击新按钮不会触发处理程序,因为它是在附加处理程序后添加的。
当您使用live
然后添加新按钮时,点击新按钮将触发处理程序。