Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 8.01.2006 Ostrzeżenie: (0%)
|
Witam, korzystam z gotowego modułu (Vote It Up) pozwalającego na głosowanie użytkownikom odwiedzającym bloga.
Głosowanie odbywa się za pomocą kliknięcia plusa lub minusa, jeżeli jest się zalogowanym wszystko jest w porządku - gorzej jest wtedy gdy głosują goście. Problem polega na tym, że będąc nie zalogowanym i klikając szybko kilka lub nawet kilkanaście razy na plus/minus system zapisuję wszystkie kliknięcia dając możliwość manipulowania głosami. Funkcja realizująca głosowanie wygląda następująco: Kod function vote(obj, votelinkobj, aftervote, postID ,userID, baseURL) { currentobj = obj; voteobj = votelinkobj; aftervotetext = aftervote; var scripturl = baseURL+"/voteinterface.php?type=vote&tid=total&uid="+userID+"&pid="+postID+"&auth="+Math.random(); lg_AJAXrequest(scripturl); } Znalazłem rozwiązanie polegające na zmianie funkcji na: Kod var clicked = false; function vote(obj, votelinkobj, aftervote, postID ,userID, baseURL) { if (clicked == false) { currentobj = obj; voteobj = votelinkobj; aftervotetext = aftervote; var scripturl = baseURL+"/voteinterface.php?type=vote&tid=total&uid="+userID+"&pid="+postID+"&auth="+Math.random(); lg_AJAXrequest(scripturl); } clicked = true; } Jednak teraz, gdy gość zagłosuję na jakiś post musi odświeżyć stronę by móc zagłosować na inny. Myślę, że najlepiej byłoby gdyby funkcją odliczała czas po kliknięciu na plus/minus i powiedzmy po kilku sekundach (gdy głos zapiszę się już w bazie) pozwalała na kolejne kliknięcie, czy mógłby ktoś pomóc mi w napisaniu czegoś takiego? Ten post edytował the-sopel 22.09.2011, 14:16:09 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 31 Dołączył: 30.03.2009 Skąd: Szczecin Ostrzeżenie: (0%)
|
Do każdego głosowania można zrobić ukryte pole z wartością np "0". Po kliknięciu JQ blokuje przycisk i sprawdza wartość ukrytego pola. Gdy jest wartość "0" dane przekazywane są na server. Wartość pola zwiększamy np o 1, przycisk zostaje odblokowany.
Tak można zrobić z każdym buttonem itp.(można dane zapisać w sesjach wtedy po odświeżeniu strony.........?) Ten post edytował celbarowicz 27.09.2011, 07:37:49 |
|
|
|
the-sopel [JavaScript] Edycja funkcji głosowania 22.09.2011, 13:34:10
Ziem Możesz np.: utworzyć tablicę w której będziesz trz... 22.09.2011, 16:07:15
the-sopel Witam, o takiej możliwości wiedziałem przed założe... 26.09.2011, 12:43:24 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 06:52 |