我有一个页面列出了两个表中的许多项目。我们称他们为最近和保存。表格列出了有关每个项目的一些数据,每行包含一个“删除”链接。该链接返回到同一页面,链接中有一些额外的数据。
链接工作得很好。问题是,大约一半的时间点击链接,页面不刷新。看起来什么也没发生。如果您手动刷新,则页面会相应更新。
现在真正奇怪的是,Recent和Saved的代码是相同的。但是,看起来它总是适用于Saved,而我对Recent有这个问题。
HTML code:
<td><a class="confirmation"
href="path/to/site/list.php?delete=yes&id=<? echo $data['id']; ?>"
OnClick="return confirm('Are you sure?')">remove</a></td>
JavaScript代码:
var elements = document.getElementsByClassName('confirmation');
var confirmOne = function(e){
if(!confirm("Are you sure?")) e.preventDefault();
};
for (var i = 0; i < elements.length; i++){
elements[i].addEventListener('click', confirmIt);
}
有时为什么要刷新页面的想法,而不是其他人?
更新:代码存在一些问题,我已根据评论修复了这些问题。不幸的是,这些问题并没有引起我的主要问题,修复它们并没有解决它。
答案 0 :(得分:0)
虽然有些用户在我的代码中指出了一些缺陷和错误,但没有一个能够解决我所询问的实际问题。我从来没有找到如何解决它或原因是什么。
最后,我最终使用AJAX重新加载内容。无论如何,这是更好的解决方案。它现在看起来和效果都好得多,而且没有刷新。新代码看起来像这样:
HTML:
<td><a OnClick="deleteOne(<? echo $data['id']; ?>)">remove</a></td>
JavaScript的:
function deleteOne(id){
if(confirm("Are you sure?")){
var selector = "#" + id;
$.get(
"path/to/site/list.php",
{delete: "yes", id: id},
function(){
$("#my-content").load(location.href+" #my-content>*","");
}
);
}
}