Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не записывает в куки клик по кнопке - Лайк / Дизлайк (https://javascript.ru/forum/events/72121-ne-zapisyvaet-v-kuki-klik-po-knopke-lajjk-dizlajjk.html)

Andrey_55 10.01.2018 11:51

Не записывает в куки клик по кнопке - Лайк / Дизлайк
 
Доброго времени суток! Нужна Ваша помощь. Расширяю функционал сайта, и решил добавить кнопку Лайк / Дизлайк. Нашёл вот такой код:
jQuery(function($){
var date = new Date();
var days = 30;
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
$('.lp-like').click(function(){
var likevalue = $(this).data('like');
$(this).html('<img src="/wp-content/themes/thrmename/images/loader.gif" />');
$.ajax({
url: "/wp-admin/admin-ajax.php",
type:'POST',
data: {'action': 'lpestimate','likes': likevalue,},
success: function(data){
$('#lk' + likevalue).html(data);
var likename = 'likename_' + likevalue;
$.cookie(likename, '1', { expires: date, path: '/' });
},
});
});
$('.lp-dislike').click(function(){
var dislikevalue = $(this).data('dislike');
$(this).html('<img src="/wp-content/themes/thrmename/images/loader.gif" />');
$.ajax({
url: "/wp-admin/admin-ajax.php",
type:'POST',
data: {'action': 'lpestimate','dislikes': dislikevalue,},
success: function(data){
$('#dlk' + dislikevalue).html(data);
var likename = 'likename_' + dislikevalue;
$.cookie(likename, '1', { expires: date, path: '/' });
},
});
});
});



Но он не записывает клики по кнопкам в куки, то есть можно голосовать за пост бесконечно. Подскажите, как можно это реализовать? Заранее благодарен.

рони 10.01.2018 12:03

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

Andrey_55 10.01.2018 12:06

Отформатировал

рони 10.01.2018 12:40

Andrey_55,
jQuery(function($){
var date = new Date();
var days = 30;
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
$('.lp-like').click(function(){
var likevalue = $(this).data('like');
var likename = 'likename_' + likevalue;
if($.cookie(likename)) return;
$(this).html('<img src="/wp-content/themes/thrmename/images/loader.gif" />');
$.ajax({
url: "/wp-admin/admin-ajax.php",
type:'POST',
data: {'action': 'lpestimate','likes': likevalue,},
success: function(data){
$('#lk' + likevalue).html(data);
var likename = 'likename_' + likevalue;
$.cookie(likename, '1', { expires: date, path: '/' });
},
});
});
$('.lp-dislike').click(function(){
var dislikevalue = $(this).data('dislike');
var likename = 'likename_' + dislikevalue;
if($.cookie(likename)) return;
$(this).html('<img src="/wp-content/themes/thrmename/images/loader.gif" />');
$.ajax({
url: "/wp-admin/admin-ajax.php",
type:'POST',
data: {'action': 'lpestimate','dislikes': dislikevalue,},
success: function(data){
$('#dlk' + dislikevalue).html(data);
var likename = 'likename_' + dislikevalue;
$.cookie(likename, '1', { expires: date, path: '/' });
},
});
});
});

рони 10.01.2018 12:48

Andrey_55,
основная проверка должна быть на сервере

Andrey_55 10.01.2018 12:53

так кнопки вообще не нажимаются

рони 10.01.2018 12:55

$.cookie и jquery установлено?

Andrey_55 10.01.2018 12:57

jquery установлено, а $.cookie нет, а как их установить??

Andrey_55 10.01.2018 13:10

Извиняюсь.... туплю.... $.cookie установил
<script type="text/javascript" src="jquery.cookie.js"></script>
но всё равно не пашет

рони 10.01.2018 13:27

Andrey_55,
в консоли ошибки есть?


Часовой пояс GMT +3, время: 08:31.