2016-06-14 27 views
-3

看看這個https://fiddle.jshell.net/tnvv0dds/4/我做了這個upvote/downvote按鈕爲我的網站,但它重置每次我刷新網站,它計票我點擊它。我不知道如何解決這個問題,因爲我有點新。有人可以爲我提供JavaScript建議嗎?我花了3-4天的時間搜索它沒有成功。如何讓我的upvote/downvote按鈕存儲餅乾和計票只有一次

+0

請包括您如何嘗試使用cookie進行存檔。 –

+0

您必須將cookie存儲在cookie中或將其存儲到數據庫中。 –

回答

0

您可以學習HTML5 Web Storage,並將它們與以下代碼一起使用。

$(document).ready(function() { 
    if(localStorage.getItem("count") == null) 
     $("#count").text(0); 
    else 
     $("#count").text(localStorage.getItem("count")); 
}); 

var counter = 0; 
$("#plus").click(function(){ 
    counter++; 
    $("#count").text(counter); 
    localStorage.setItem("count", counter); 
}); 

$("#minus").click(function(){ 
    counter--;  
    $("#count").text(counter); 
    localStorage.setItem("count", counter); 
}); 
+0

非常感謝:D。順便說一句,你能告訴我,如何使票數只有一次? –

+0

我依賴於你得到什麼邏輯。 –

+0

嘿,一個問題。它存儲數據,但是當我投另一票時,它從0開始。 –

0

如果你想讓每個人投一票,你必須保存在服務器上的數據庫中如何投票的人的信息。這是您持久計數的唯一方法。顯示當前的計數當然包括查詢數據庫。將信息保存到數據庫中需要使用服務器端編程語言,例如, PHP。 這不能用純粹的客戶端JavaScript來完成。

爲防止雙重投票,您可以在第一次投票時保存其IP地址,並在數據庫中找到當前IP地址時拒絕投票。由於有些人擁有動態/變化的IP地址,這不是防彈的。另外(真的,只是作爲一個補充),你可以在本地存儲或cookie中保存一個標誌,並檢查用戶何時試圖投票。第一次投票時設置標誌,如果發現標誌,則拒絕投票。