href链接后未刷新页面

Page not refreshing after href-link

本文关键字:刷新 链接 href      更新时间:2023-09-26

我有一个页面,在两个表中列出了许多项。我们将它们称为"最近"answers"已保存"。这些表列出了关于每一项的一些数据,每一行都包含一个"删除"链接。链接会返回到同一页面,其中包含一些额外的数据。

链接工作得很好。问题是,当点击链接时,大约有一半的时间页面不会刷新。看起来什么都没发生。如果手动刷新,则页面会相应更新。

现在真正奇怪的是,Recent和Saved的代码是相同的。然而,它似乎总是适用于Saved,而我对Recent有这个问题。

HTML代码:

<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);
}

为什么它有时会刷新页面,而不是其他页面,有什么想法吗?

更新:代码中有几个问题,我已经根据注释修复了这些问题。不幸的是,这些问题并不是我的主要问题,修复它们并没有解决它

尽管一些用户指出了我的代码中的一些缺陷和错误,但他们都无法解决我所询问的实际问题。我一直不知道该怎么解决,也不知道原因是什么。

最后,我只是使用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>*","");
            }
        );
    }
}