簡體   English   中英

href鏈接后頁面未刷新

[英]Page not refreshing after href-link

我有一個頁面在兩個表中列出了許多項目。 我們將它們稱為“最近保存”。 這些表列出了有關每個項目的一些數據,並且每一行都包含一個“刪除”鏈接。 該鏈接返回到同一頁面,其中包含一些額外的數據。

鏈接工作正常。 問題是,大約有一半的時間單擊鏈接時,頁面不會刷新。 好像什么也沒發生。 如果您手動刷新,則頁面將相應更新。

現在真正奇怪的是,“最近”和“已保存”的代碼是相同的。 但是,對於“已保存”來說,它似乎總是可以正常工作,而“最近”卻存在這個問題。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM