2016-08-03 97 views
0

我有一个页面列出了两个表中的项目数。我们会将它们称为“最近并保存”。这些表格列出了有关每个项目的一些数据,每行包含一个“删除”链接。该链接返回到链接中的一些额外数据的同一页面。页面不刷新后href链接

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

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

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

任何想法,为什么有时刷新页面,而不是其他人?

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

+0

Yu're调用错误的函数:元素[I]阅读进度( '咔哒',__confirmIt__); var __confirmOne__ =函数(e) –

+0

您没有称为confirmIt的函数。你有一个var名为confirmOne – mplungjan

+0

每个链接都有一个onclick属性,你正在通过javascript添加另一个事件监听器? – Will

回答

0

虽然有些用户指出我的代码有一些缺陷和错误,但他们都没有能够解决我所问的实际问题。我从来没有发现如何解决这个问题,或者是什么原因。

最后,我刚刚结束了使用AJAX来重新加载内容。无论如何,这是更好的解决方案。它看起来现在好多了,而且没有更新。新的代码看起来是这样的:

HTML:

的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>*",""); 
      } 
     ); 
    } 
}