我写了一些代码,要求用户输入日期范围并单击下一步按钮。这会触发对文件的AJAX调用,该文件会确定那些日期中包含的日期并将其打印到屏幕上。
如果用户更改日期并再次按“下一步”,则会再次进行计算。在连续几次这样做之后,它开始运行得非常慢,最终它会一起崩溃浏览器。
有谁知道为什么会这样,以及我可以做些什么来解决它?
非常感谢你的时间。
$("#list").ajaxComplete(function(request, settings){
$('#addNewDays').bind('submit', function() {
$(this).ajaxSubmit(function() {
$('#dateDisplay').load('calculateDays.php?employeeId=' + $('#employeeId').val() + '&fromDay=' + $('#fromDay').val() + '&toDay=' + $('#toDay').val());
});
return false; // <-- important!
});
});
答案 0 :(得分:0)
您可以在请求开始时禁用该按钮,然后在请求完成后重新启用它。
答案 1 :(得分:0)
function enableMyButton(){
$("#myNextButton").attr('disabled','false');
}
$("#myNextButton").click(function(){
$("#myNextButton").attr('disabled','true');
// do ajax stuff, set the callback function to enableMyButton
});
这样的事情对你说得对。
答案 2 :(得分:0)
为什么每次点击时都会将提交事件重新附加到按钮?我认为这是因为按钮正在被新内容替换。如果是这样,那么限制片段将回到日期,而不是其他任何东西。